【发布时间】:2019-12-13 21:40:56
【问题描述】:
当我们尝试联系 PayPal Adaptive Payments 端点时,两者都在: https://svcs.paypal.com/AdaptivePayments/Pay(用于显式链式支付) https://svcs.paypal.com/AdaptivePayments/Preapproval(用于预先批准的付款)
自 7 月下半月以来,我们从 paypal 收到的响应非常缓慢,超过 50 秒。响应到达后一切正常,但我们正在调查这个奇怪的时间响应,因为它为我们的用户带来了很多购物车下降。
首先,我们检查了对端点的 SOAP 调用和请求信封,一切(在过去 6 年中一直有效)似乎都正常。我们刚刚在soap 客户端请求中添加了一个'compression' => SOAP_COMPRESSION_ACCEPT, 行,因为它现在似乎是必需的(我们以前从未使用过它,但自7 月以来我们收到了一个未知的内容编码错误,没有此行)。无论如何,甚至在此补丁之前以及从 7 月初 / 下半月开始就存在缓慢的响应。
然后我们测试了数据库中是否有一些损坏的表,但一切正常。
然后我们深入检查了我们在对 paypal 端点的请求和响应之间所做的事情,但除了打开呼叫并等待响应之外,我们什么也没做。
我们首先定义我们的标题,然后我们进行调用:
$soapClient = new SoapClient($this->wsdl,
array('location' => $this->EndPointURL."AdaptivePayments/Preapproval/",
'uri' => "urn:Preapproval",
'soap_version' => SOAP_1_1,
'trace' => 1, //debugging option
'compression' => SOAP_COMPRESSION_ACCEPT,
'stream_context' => $ctx)); //adding the stream context option containing the http headers
$response = objectToArray($soapClient->Preapproval($params));
} catch (SoapFault $e) {
$response = objectToArray($e);
}
return $response;
}
Pay 操作的情况非常相似,我们在 paypal 响应中也有相同的 50-52 秒延迟。
在正常行为中,我们确实希望在 1-5 秒之间做出响应。 我们认为这是 paypal 服务器上的问题,我们正在等待 MTS 的答复,但同时欢迎任何建议。
【问题讨论】:
标签: soap paypal wsdl paypal-adaptive-payments