我只是在這裏測試PayPal IPN。我已經設置了沙箱。我發送假IPN請求,並且它正在接收IPN。然後,我得到它來返回驗證信息,並且我正在寫一個文本文件的響應,以便我可以自己檢查。 IPN正在開火,並且響應正在寫入文本文件。Paypal IPN獲得空白確認(應該是「VERIFIED」或「無效」)
只有一個問題......答案是空白的。
回覆應該被認爲是「VERIFIED」或「INVALID」,並且這些是唯一的2個可能的回答......所以發生了什麼= S。任何幫助是極大的讚賞。
整個代碼下面貼:
$ipn_post_data = $_POST;
$response = "";
// Choose url
$url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
// Set up request to PayPal
$request = curl_init();
curl_setopt_array($request, array
(
CURLOPT_URL => $url,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => http_build_query(array('cmd' => '_notify-validate') + $ipn_post_data),
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER => FALSE,
CURLOPT_SSL_VERIFYPEER => TRUE,
CURLOPT_CAINFO => 'cacert.pem',
));
// Execute request and get response and status code
$response = curl_exec($request);
$status = curl_getinfo($request, CURLINFO_HTTP_CODE);
// Close connection
curl_close($request);
$fh = fopen("ipntest.txt", 'a+');
$date = date("Y-M-j H:i");
fwrite($fh, $date . " Response: " . $response . "\n");
fclose($fh);
if($status == 200 && $response == 'VERIFIED')
{
// All good! Proceed...
}
else
{
// Not good. Ignore, or log for investigation...
}
文本文件輸出:
2012-Nov-26 23:24 Response:
2012-Nov-26 23:25 Response:
我一直在使用這個代碼之前,我一直在試圖得到它的一個星期工作,所以這不僅僅是一個暫時的失敗或者什麼......
乾杯傢伙。
給這個圖書館一試:https://github.com/Quixotix/PHP-PayPal-IPN 我在開發的某些點有同樣的問題。 ..我退出故障排除並開始使用這個夢幻般的圖書館。 – eldblz
這可能只是一個https的事情。你確定了curl_exec()的返回值嗎?它可能是假的嗎? –
這個eldblz的Bigups,這使我的生活如此之多問題在於我沒有CA文件,請參閱答案I張貼在下面。 – connorbode