私はここで私の深さから少し外れていると感じています。このPayPalのオーバーホールが数日前に行われて以来、サンドボックスIPNシミュレーターで問題が発生しています。
基本的に、カールの結果は通常VERIFIEDまたはINVALIDと表示され、空の文字列を返しているように見えます。
これとまったく同じコードはライブモードで機能しますが、サンドボックスでは機能しません。
$post_fields ='cmd=_notify-validate';
foreach($_POST as $key => $val)
{
$post_fields .= "&$key=".urlencode($val);
}
$ch = curl_init();
// $url is https://www.sandbox.paypal.com/cgi-bin/webscr
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$ch_result = curl_exec($ch);
curl_close($ch);
私はよく見て、HTTPバージョン1.1の使用や追加などのさまざまな提案を試しましたがcurl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
、何も機能しないようです。
他のすべての投稿フィールドを取得します。それは$ch_resultだけです。かなり困惑しました、他の誰かがこの問題を抱えていて、彼らはそれを解決することができましたか?