2011-06-03 110 views
1

所以我一直在使用贝宝,沙箱模式一切工作正常。然而,当我移动到真正的现金paypal生活,IPN返回无效。贝宝IPN返回在沙箱上验证,但无效生活

我使用的版本在此处修改我的需要脚本(https://cms.paypal.com/cms_content/US/en_US/files/developer/IPN_PHP_41.txt)中,只有位是不同的数据库交互等

我已经在这里找到这个问题(http://www.hebtech.co.uk/blog/paypal-ipn-invalid-on-live-server-but-valid-on-test-server-fixed/),这似乎是问题我有,而且基本上说,它与地址的可选第二行(在沙箱中的测试帐户,未填写)回车。但在主哨的解决方案,另一个在意见不工作,如下

$value = preg_replace('/(.*[^%^0^D])(%0A)(.*)/i','${1}%0D%0A${3}',$value); 

OR

$value = preg_replace('/(.*?)(%0D%0A|%0A)(.*)/i','${1}%0D%0A${3}',$value); 

任何想法?让我生气。它不停止付款,但它只是意味着在网站上,将状态更改为支付都必须手工完成

+0

检查您的字符集和SSL连接。 如果你可以发布你的脚本更好:) – 2011-06-07 10:28:27

回答

0

你可以试试这个:在定制

$value = preg_replace('/%0D%0A|%0A/i','%0D%0A',$value); 

我也有问题,性格;领域。查看您发送给PayPall的所有字段。同时检查任何不是A-Z或0-9的字符。

最后一件事你可以尝试设置的字符集在你的语言编码选项:https://www.paypal.com/cgi-bin/webscr?cmd=_profile-language-encoding