私はこの問題をデバッグしたり、オンラインで答えを見つけたり、すべてのことを知らせたりするために、過去5時間を試してきました。私はサンドボックスでテストしていますが、同じ問題がライブサーバー上に存在します。サンドボックスではなくコードで問題があると考えられますが、そのことがわかりません。私のコードは基本的にPayPalの例hereから直接コピーされます。 PayPal IPN response empty
// Step 2: POST IPN data back to PayPal to validate
$ch = curl_init();
$url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
if(!($res = curl_exec($ch))) {
error_log("Got " . curl_error($ch) . " when processing IPN data");
mail($notifyemail,'CURL error on IPN',"Got " . curl_error($ch) . " when processing IPN data");
curl_close($ch);
exit;
}
curl_close($ch);
は(私は簡潔にするため、このコードの上にすべてのものを残しますが、この前に、すべてのコードが。私は
$req
のための両方の文字列と配列を使用してテストしたテストされ、正常に動作することが確認されたので安心)
サンドボックスでテストすると、IPN was sent and the handshake was verified
と表示されます(ポート443が開いていることを私に示唆)。しかし、$ resは常に空です。見知らぬ人でさえ、私のデバッグ中に私のコードは、のステップの前後に、私のコードが私にメールを送ってくれるステップを追加しました。その両方のケースでは、URLを除くすべてが空です。オプションが存在しないかのように要求にまったく追加されます。私はそれが正常であるかどうかを知るために十分な経験がありません。
PayPalがIPNの言う:
HTTP response code: 200
Delivery status: Sent
No. of retries: 0
IPN type: Transaction made
私はhttps://github.com/Quixotix/PHP-PayPal-IPNからライブラリに交換し、代わりにすることをを使用してみました、そしてそれは以来、私にはどんな意味がありませんcURL error: [7]
(接続できない)をログに記録再び握手が確認された。私は$listener->getTextReport()
の内容を私に電子メールで送ったが、エラー情報はまったく含まれていない。 use_ssl
とuse_curl
の様々な組み合わせを試し
は、私のエラーログは次のようになります。
[05-Oct-2016 16:40:13 America/Toronto] cURL error: [7]
[05-Oct-2016 16:47:22 America/Toronto] PHP Warning: fsockopen(): unable to connect to ssl://www.sandbox.paypal.com:443 (Operation not permitted) in /home/[stuff]/public_html/[stuff]/ipnlistener.php on line 144
[05-Oct-2016 16:47:22 America/Toronto] fsockopen error: [1] Operation not permitted
[05-Oct-2016 16:50:39 America/Toronto] cURL error: [7]
[05-Oct-2016 16:51:55 America/Toronto] PHP Warning: fsockopen(): unable to connect to www.sandbox.paypal.com:80 (Operation not permitted) in /home/[stuff]/public_html/[stuff]/ipnlistener.php on line 144
[05-Oct-2016 16:51:55 America/Toronto] fsockopen error: [1] Operation not permitted
あり、私が間違って取得したり見下ろすだ何かでなければなりませんが、私の人生のために私は何のことを把握することはできませんになり得る。どんな助けも非常に高く評価されます。