Cakephp Pypal IPN已验证,但Paypal仍在重试
我正在沙箱中测试IPN。在我的网站上,我记录了贝宝和我的网站之间的交流Cakephp Pypal IPN已验证,但Paypal仍在重试,cakephp,paypal,paypal-ipn,Cakephp,Paypal,Paypal Ipn,我正在沙箱中测试IPN。在我的网站上,我记录了贝宝和我的网站之间的交流 Start validations:_notify-validate,16.94,Eligible,confirmed,SVWAAUVZX2S4Y,0.00,1 Main St,13:57:50 May 07, 2012 PDT,Completed,windows-1252,95131,Test,0.84,US,Test User,3.4,,verified,demarc_1336421374_biz@gmail.
Start validations:_notify-validate,16.94,Eligible,confirmed,SVWAAUVZX2S4Y,0.00,1 Main St,13:57:50 May 07, 2012 PDT,Completed,windows-1252,95131,Test,0.84,US,Test User,3.4,,verified,demarc_1336421374_biz@gmail.com,United States,San Jose,1,As4zhnwQeMSnsOdh0NBxc2GkfRrEAd8OPZnnd3EWRDz38L81PzX-6vI- ,demarc_1321350258_per@gmail.com,6FT25620DT6366410,instant,User,CA,demarc_1336421374_biz@gmail .com,,6SHJZ2PT5YMLS,web_accept,test item,EUR,,US,1,0.00,test item,,0.00,de0561482901
2012-05-07 22:52:47 Paypal: ResponseVERIFIED
2012-05-07 22:52:47 Paypal: 1
2012-05-07 22:52:47 Paypal: Processing Trasaction: 4fa8361f-7574-444f-b821-5e660a00000f
2012-05-07 22:52:47 Paypal: 4fa8361f-7574-444f-b821-5e660a00000f
看起来还好吧?但若我用商业帐户登录沙箱,在IPN历史中我看到Paypal一直在尝试发送IPN。在我的网站上,我将交易记录到数据库中,我看到了很多记录(如果响应得到验证,我会存储这些记录)。
怎么可能呢?
我用cakephp发回Paypal
函数有效($data){
}
我不认为这是一个cakephp或其他问题。
我在沙箱业务账户中设置欧元作为货币。paypal提交表单中的货币值也是欧元。
经过几天的谷歌搜索后,您的IPN端点必须以HTTP状态代码200回复PayPal的通知。否则状态将保持“重试”。尝试通过IPN工具将IPN发送到您的URL,并查看状态如何。可能是不知何故200没有发送到PP。它的IPN工具会说,IPN发送确定,然后我们必须在其他地方寻找。
$data['cmd'] = '_notify-validate';
$newData['cmd'] = '_notify-validate';
foreach ($data AS $key => $val) {
$newData[$key] = $val;
}
$this->log("Start validations:".join(",",$newData), 'paypal');
$data = array_map(array('PaypalIpnSource', 'clearSlash'), $newData);
if (isset($data['test_ipn'])) {
$server = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
} else {
$server = 'https://www.paypal.com/cgi-bin/webscr';
}
$response = $this->Http->post($server, $newData);
$this->log("Response".$response, 'paypal');
if ($response == "VERIFIED") {
return true;
}
if (!$response) {
$this->log('HTTP Error in PaypalIpnSource::isValid while posting back to PayPal', 'paypal');
}
return false;
}