3

我最近将我的 Magento 实时网站从 1.6.2.0 升级到了 1.7.0.0。从升级后开始,我现在遇到了 PayPal 标准付款的问题。当客户使用 PayPal 付款时,在 PayPal 上付款很顺利,但 Magento 订单状态没有更新,一直处于“待处理”状态。

我已经检查了各种报告此问题的网站,但我仍然无法解决问题。

我有 payment_paypal_standard.log 报告:“.... [postback_result] => [exception] => PayPal IPN 回发失败。有关详细信息,请参阅 paypal_unknown_ipn.log。”

但是我没有创建 paypal_unknown_ipn.log,所以我无法获得有关该错误的更多信息。

调查更多,我发现可能的问题是返回的 PayPal 回发字符串没有正确解密,但我还没有找到真正的解决方案来帮助我解决问题。

有没有办法很快找到解决方案?谢谢大家。

4

2 回答 2

3

请参阅http://doghouse.agency/article/debugging-paypal-ipn-postback-failures-magento

基本上,CURL 有时会决定在回发请求标头中添加一个“Expect: 100”字段,以检查是否允许发送此请求。这会导致 CURL 响应字符串与 Magento(最高 1.7)所期望的不同

改变

$response = preg_split('/^\r?$/m', $response, 2);
$response = trim($response[1]);

$response = preg_split('/^\r?$/m', $response);
$response = trim(end($response));

它应该解决这个特定问题。当然,您可能会遇到不同的问题,即 CURL 错误。在这种情况下,记录 CURL 错误号。请参阅此页面以获取 CURL 错误编号列表:http ://curl.haxx.se/libcurl/c/libcurl-errors.html

于 2013-04-24T08:57:29.040 回答
0

我有同样的问题,但手动修补

http://www.magentocommerce.com/bug-tracking/issue/?issue=13515#30

请参阅我的评论 #30。

希望这可以帮助。干杯

于 2012-11-28T05:59:42.570 回答