2012-06-22 86 views
3

我最近将我的Magento直播网站从1.6.2.0升级到1.7.0.0。 升级后开始,我现在在PayPal标准付款方面存在问题。 当客户使用PayPal付款时,PayPal付款顺利进行,但Magento订单状态不会更新并保持“未决”状态。PayPal IPN回传失败

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

我有payment_paypal_standard.log报告这样的: “...... [postback_result] => [例外] =>贝宝IPN回发失败见paypal_unknown_ipn.log的介绍。”

但是我没有创建paypal_unknown_ipn.log,所以我不能有关于错误的更多信息。

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

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

+0

我没有答案给你,但如果它是任何安慰我99%肯定贝宝IPN有一些错误,并不通知你或您100%的时间购买您的脚本。我已经通过IPN处理了几千笔付款...并且每100个手机总有1或2个手动处理(通过登录PayPal并重新发送IPN消息,然后工作正常),所以我只能假设他们工作不正常。 – darkAsPitch

回答

3

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

基本上,袅袅有时决定了“期望:100”加场回传请求头,以检查它是否允许发送该请求。这将导致卷曲响应字符串比什么不同的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