标签: opayo

SagePay(支付网关)通知在ASP.Net MVC应用程序中需要很长时间

我们在网站上遇到与高CPU使用率相关的性能问题.使用分析器时,我们已经确定了一个需要约35秒才能返回的特定方法.

这是使用名为SagePay的支付网关时的回拨方法.

我已经复制了下面这个调用的两个方法:

 public void SagePayNotificationReturn()
    {
        string vendorTxCode = Request.Form["vendortxcode"];

        var sagePayTransaction = this.sagePayTransactionManager.GetTransactionByVendorTxCode(vendorTxCode);
        if (sagePayTransaction == null)
        {
            // Cannot find the order, so log an error and return error response
            int errorId = this.exceptionManager.LogException(System.Web.HttpContext.Current.Request, new Exception(string.Format("Could not find SagePay transaction for order {0}.", vendorTxCode)));
            ReturnResponse(System.Web.HttpContext.Current, StatusEnum.ERROR, string.Format("{0}home/error/{1}", GlobalSettings.SiteURL, errorId), string.Format("Received notification for {0} but the transaction was not found.", vendorTxCode));
        }
        else
        {
            // Store the response and respond immediately to SagePay
            sagePayTransaction.NotificationValues = sagePayTransactionManager.FormValuesToQueryString(Request.Form);
            this.sagePayTransactionManager.Save(sagePayTransaction);
            ReturnResponse(System.Web.HttpContext.Current, …
Run Code Online (Sandbox Code Playgroud)

c# asp.net opayo

13
推荐指数
1
解决办法
704
查看次数

Magento重复订单

我有一个使用版本的Magento网站1.6.2.0,我遇到了重复订单的问题.

在研究了这个主题之后,我发现大多数论坛主题都解释1.4.x了重复订单和提到的解决方案存在问题(甚至那些我发现的SO)只是建议用户更新Magento >1.4.

我也在这里找到了一个建议的解决方案,但我不愿意删除观察员,这会阻止可下载的购买工作.

我也发现了几次提到的阵列死亡修复(例如这里)但是这个问题不存在1.6.x,Zend似乎已经解决了它.

有几个Javascript黑客建议,确认订单按钮在提交时隐藏,但Magento 1.6.x已经这样做了.

我已将支付网关超时配置变量增加到120秒,并且尚未查看它是否产生结果.我无法测试它,因为问题是间歇性的(因此可能是由支付网关和Magento之间的通信或缺乏引起的).

我使用Sagepay作为支付网关.

如果任何人有任何可能有帮助的想法,或者可以建议我如何进一步调试这个,并理想地解决它,这将是非常感谢!

magento opayo magento-1.6

7
推荐指数
1
解决办法
4976
查看次数

如何解决Sagepay支付网关错误,"4006:此帐户不支持请求的TxType"?

在Live网站上提交表单时,我得到以下错误.

状态:无效

状态详细信息:4006:此帐户不支持请求的TxType.

我的sagepay设置是为LIVE低于,

SAGEPAY_CONNECT_TO ='现场'; SAGEPAY_TRANSACTION_TYPE ='付款';

但它不起作用.有人说它改为'DEFERRED',但它也没有用.以上设置在TEST模式下正常工作,对于TEST模式设置,

SAGEPAY_CONNECT_TO ='TEST'; SAGEPAY_TRANSACTION_TYPE ='付款';

我该如何解决这个问题?谁能帮我?

payment payment-gateway payment-processing payment-services opayo

6
推荐指数
1
解决办法
8284
查看次数

无法获取查询字符串参数值

我已经将sage pay与我的wordpress网站集成在一起.我目前正在模拟器模式下运行sagepay.

成功付款后,sagepay会重定向到我网站的成功页面.重定向网址是这样的.

mysite.com/?page_id=632&crypt=@7564ASKJjkkjh....encrypted string.
Run Code Online (Sandbox Code Playgroud)

当我试图通过$ _REQUEST或$ _GET在我的成功页面上获取查询字符串参数时,我只能得到page_id.

但我不能得到'crypt'参数.

我也试过var_dump($ _ REQUEST).它还只提供page_id但不提供crypt参数.

我不想从查询字符串中检索'crypt'参数.

注意:它正确地在localhost上工作.我有两个参数.但是当我在实时服务器上上传我的网站时,我只能获得page_id,而不能获得'crypt'参数.

有任何想法吗?

更新:我的Sage pay给出的查询字符串是这样的:

mysite.com/?page_id=632&crypt=@

但它在localhost上工作正常

php wordpress opayo

6
推荐指数
1
解决办法
2362
查看次数

如何创建mysagepay测试帐户

我搜索了很多,但只有以下登录URL为sagepay测试帐户.

https://test.sagepay.com/mysagepay/login.msp

任何人都可以帮助我从我可以创建帐户登录屏幕上方.

我已经创建了模拟器帐户

模拟器帐户

opayo magento-1.9

6
推荐指数
1
解决办法
4242
查看次数

在 Firefox 中的 iframe 中打开网站时 Laravel 会话被终止

此问题似乎仅影响 Firefox,然后仅影响部分用户(没有明显的版本/安全设置差异)。我们的 Laravel 应用程序中出现会话丢失问题。

我们有一个使用 iframe Opayo 服务器集成的支付集成。这将在 Laravel 应用程序的 iframe 中打开付款表单。提供了付款详细信息,并且付款成功 - 包括点击 Opayo webhook 来确认交易。

Webhook 返回一个重定向 URL,Opayo 使用该 URL 来重定向用户(自然在 iframe 中)。此重定向 URL 只是与应用程序(即 iframe 父级)位于同一站点上的 URL。

当 iframe 加载重定向 URL 时,站点会话立即被终止。最初,URL 处的页面脱离了 iframe(设置 window.top.location),并且还执行了一些 ajax 调用 - 我删除了这两个操作,以确认它们不会以某种方式导致会话被破坏。

该站点通过 HTTPS 提供服务并具有有效证书。会话 cookie 设置为安全、仅 HTTP,并且同一站点是“宽松”的

什么可能导致这种行为?

iframe session opayo laravel

6
推荐指数
1
解决办法
426
查看次数

为sagepay网关创建基本付费按钮

我有一个客户已经注册了一个sagepay帐户.他目前的网站运行wordpress 3.0,目前没有任何电子商务功能.

他需要一个按钮,让用户通过sagepay提交300英镑的押金(这个金额永远不会改变).(通常情况下,我建议使用PayPal这样的东西,但显然由于他的业务的旅行性质,paypal将不会让我的客户有专业帐户)

我已经看过三月份在类似线程中描述的方法(我如何制作一个SagePay BuyNow按钮?),但我不确定如何在wordpress的页面中实现这个,而不是非常了解php栏基本模板编辑,所以我完全迷失在$ PAYMENT_CRYPT部分.

如果有人能够提供我需要采取的步骤来实现每次提交相同金额的基本按钮,然后收集所有卡片详细信息/客户详细信息,一旦将它们发送到sagepay网关,我们将非常感激!

button opayo

5
推荐指数
1
解决办法
2721
查看次数

SagePay有一个IP范围列表,他们的模拟器响应可以来自服务器吗?

我设置了测试/暂存站点,但访问该站点受IP地址限制.

这意味着,虽然我可以很好地发布到SagePay模拟器,但Web服务器拒绝了返回响应.

是否有SagePay模拟器服务器使用的已发布的IP地址/范围列表,以便我可以将它们列入白名单?

干杯,

麦克风

opayo

5
推荐指数
1
解决办法
2526
查看次数

3DSv2 Sagepay 直接集成基础知识

协议 4.00 的文档可能会更有帮助。对于每个努力让 3DSV2 工作的人来说,我希望任何已经设法让 3DSV2 工作的人能够详细阐述基础知识。

我将根据我的理解总结流程,请大家帮忙纠正必要的地方并添加任何问题,例如从 VPSTx_Id 中删除 {} 大括号。

  1. 向 SagePay 发出注册交易的请求,包括 ThreeDSNotificationURL,这是 ACS 在成功或失败时将重定向您的客户的 URL。
  2. 如果 SagePay 的响应是 3DAUTH,则构建一个表单以向客户显示,其中包含带有必需字段“acsUrl”、“creq”和“thirdDSSessionData”的 iFrame,这些字段是从 SagePay 响应中填写的。(协议 4 指南第 16 页)。笔记 *

    该文档说要使其成为自动提交表单,但最好告知客户为什么要向银行进行身份验证并让他们单击按钮继续。青年MMV

  3. 客户在 iFrame 中填写身份验证表单。
  4. 发卡银行向您的 ThreeDSNotificationURL 发送成功或失败的响应
  5. ThreeDSSessionData 或 (MD) 以及 CRes 或 (PARes) 在此响应中发送回,具体取决于响应的 3DSv2 或 (3DSv1)。
  6. 然后,您的 ThreeDSNotificationURL 代码必须再次发布到 SagePay 回调页面 VPSTxId 和 Cres 或 MD 和 PARes,具体取决于 3DSv2 或 3DSv1
  7. 如果 3DS 身份验证成功,SagePay 将请求卡授权。
  8. 如果授权获得批准,SagePay 随后会使用 VPSTxId 和 10 位安全密钥进行响应。
  9. 显示完成页面并告知客户交易成功或不成功。
  10. 需要一些澄清,“在后备方案中,Sage Pay MPI 将执行 3DSv1 …

3d-secure opayo

5
推荐指数
1
解决办法
3791
查看次数

Opayo 3ds2 - sagepay PI 集成 rsa3dsauth.co.uk 无法返回 ThreeDSSessionData

Opayo 从我们的付款请求中返回,要求我们联系https://www.rsa3dsauth.co.uk/3ds2/cReqWebBased?issuer=barclays”进行 3D 安全身份验证,因此我们发送以下内容:

<form id="c-form" method="POST" action="https://www.rsa3dsauth.co.uk/3ds2/cReqWebBased?issuer=barclays">
  <input type="hidden" name="creq" value="*removed for data protection*" />
  <input type="hidden" name="threeDSSessionData" value="tQtpVHCcCVGEhPNDaeCtMK9I%2fREJERnarovmuZPsM4M6xy6gks9rOYix36waoxOn1wukcobCFbfd2jpmVDVDwZjrd3MzJtmpyFDEAu5R9azVveH6kBEXc5F2ETnFijQfEj5l6EzmH7EnMzbTlFHgbkDGR%2fH9CtURo0K2VSUKHN4%3d" />
  <script>
    document.addEventListener("DOMContentLoaded", function()
    {
      var b = document.getElementById("c-form");
      b && b.submit();
    });
  </script>
</form>
Run Code Online (Sandbox Code Playgroud)

我们回来了

POST https://xxxxx.xxxxxxx.xxx/api/payment/3dsecurechallenge?eid=ctl00_cphMain_Payment_SagePay_ThreeD 
cres=*removed for data protection*&threeDSSessionData=
Run Code Online (Sandbox Code Playgroud)

请注意,下面没有任何内容&threeDSSessionData=,它应该将字符串返回给我们。

文档在此输入图像描述

还有谁有相同的问题吗?

3ds opayo

5
推荐指数
1
解决办法
1792
查看次数