【问题标题】:Adaptive payments flow is broken自适应支付流程中断
【发布时间】:2019-12-07 17:35:28
【问题描述】:

自几天以来,自适应付款(包括预先批准和链式)似乎被打破了。 当我们将用户发送到 paypal 以完成订单(链式)或授权预先批准(preapprovals)时,他们会得到一个通用的“无效交易”错误。测试了流程,我们得到了同样的错误,查看控制台我们可以在 paypal 对象目录中的 checkout.js 文件中看到这个错误:

Uncaught TypeError: PAYPAL.AP.Subflow is not a constructor
at checkout.js:11
(anonymous) @ checkout.js:11

贝宝方面似乎出了点问题。 有同样问题的人吗?解决方法?

干杯,菲尔

【问题讨论】:

  • 只是添加一些细节,自 2013 年以来我们用于自适应支付呼叫的端点是:svcs.paypal.com,这是 wsdl:svcs.paypal.com/AdaptivePayments?wsdl,当我们现在拨打电话时,我们不从贝宝端点获得响应几秒钟,然后我们登陆贝宝,页面中出现“无效交易”错误,控制台中出现前面描述的 javascript 错误。 javascript 错误似乎与 paypalobject 存储库中的 checkout.js 对象有关。这对我们来说完全是障碍。

标签: paypal paypal-adaptive-payments


【解决方案1】:

我们终于弄清楚出了什么问题。

尝试对 svcs 端点的调用进行完整调试,我们发现从几天(从 2013 年第一次)开始,我们开始从 paypal 服务器对我们的 SOAP 请求发出奇怪的响应:

{"faultstring":"Unknown Content-Encoding","faultcode":"HTTP"}

然后,我们考虑了调用贝宝服务器的“传输”中的一些问题,并尝试在标头中添加一些内容。

首先,我们发现在我们的 http 标头请求中丢失了一些我们以前从未使用过的行,例如:

“X-PAYPAL-DEVICE-IPADDRESS:”。 $_SERVER['REMOTE_ADDR'] 。 "\r\n" ;

但这并没有解决问题。 然后我们在soap客户端数组中添加了一个新行:

'压缩' => SOAP_COMPRESSION_ACCEPT,

添加这个解决了这个问题,但没有人告诉我们这部分代码的要求。可能这是一个 linux 问题,也许 paypal 已经用较新的服务器更改了一些服务器,而较旧的服务器接受了 SOAP 请求,即使它没有使用此“压缩”参数,但在较新的环境中似乎是必需的。

无论如何,添加这条线后一切都恢复正常了,Pay 操作仍然有一个奇怪的时间响应(长),而 Preapproval 操作的一切都很顺利,但这可能取决于管理其中一个或另一个的不同 paypal 服务器操作。

【讨论】:

    猜你喜欢
    • 2016-02-10
    • 2014-02-09
    • 2016-08-27
    • 2018-07-28
    • 2017-10-24
    • 2013-08-20
    • 2014-09-10
    • 2015-07-19
    • 2014-08-03
    相关资源
    最近更新 更多