0

私はここで私の深さから少し外れていると感じています。この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だけです。かなり困惑しました、他の誰かがこの問題を抱えていて、彼らはそれを解決することができましたか?

4

1 に答える 1

0

私は別の関連するテクノロジー(html / os vs php)と同上を使用して同じ問題を抱えており、「検証済みまたは無効」の代わりに空白のvarが返されますが、まだ注文を受けているため、同じコードがライブモードで正常に動作します...

私は昨夜 (土曜日) このスレッドを読みました -> IPN シミュレーターが 401 エラーを返す...これは、ペイパルの開発者が問題を認識していることを示唆しているようです...彼らが認識している範囲で、私が 36 時間前に 2 つのメールを送信したことを知っているまだなだだけど、また週末なので、月曜日には物事が解決するかもしれません.. .

また、注意してください...このバグを回避するためにipn呼び出しを強制/偽造したとき、以前の「完了」に対してvar payment_statusを2の数値に変更したように見えました...

oye vey ...いわゆる技術アップグレードの苦痛です...技術的には、物事が安定したら、ソフトウェアの名前をconcretewareに変更する必要があると思います。 -うーん-Windows Vista、Windows 8.0を参照してください。しかし、私は脱線します...心から、チャックスコット

于 2013-03-11T02:38:24.010 に答える