PayPal IPN在实时中返回无效,但在沙箱中返回true

时间:2014-12-17 18:39:20

标签: paypal paypal-ipn

我正在使用PayPal并行付款。

使用此代码,$ ipnMessage-> validate()返回false,但在沙箱中返回true:

if($ipnMessage->validate()) { 
    error_log("Success: Got valid IPN data");
    // In sandbox returns true, in 'live' returns false
} else {
    error_log("ERROR: Invalid IPN ");   
}

我的解决方案是:

foreach($ipnMessage->getRawData() as $key => $value) {
   error_log("IPN: $key => $value\n", 3, "error_log.rtf");
   if ($key == "transaction[0].status") $completed = $value;
}

if($completed == 'Completed') { 
   //error_log("Success: Got valid IPN data");
   // Always returns true
} else {
   error_log("ERROR: Invalid IPN ");    
}

问题是:使用值已完成检查事务[0] .status 是确保交易完成且合法的安全方式吗?

0 个答案:

没有答案