2

実際の (サンドボックスではない) 環境では、Paypal IPN は payment_status = Completed の POST データを送信します。しかし、Paypal から (CURL を使用して) トランザクションの確認を取得しようとすると、空の文字列 ("VERIFIED" または "INVALID" ではない) を受け取ります。

CURL はエラーを返しません。実際の環境での確認には、https://www.paypal.com/cgi-bin/webscrを使用します(確かにそうです)。さらに、サンドボックスではすべてが適切に機能します。

エラーは約 2 か月前に表示されました。Paypal がサイトのデザインを少し変更していることに気付きました。おそらく確認プロセスも変更されます。しかし、ドキュメントに更新は見つかりませんでした。

誰かが同様の問題に遭遇しましたか?

4

2 に答える 2

2

空の応答が返された場合は、再試行してください。すべての再試行が失敗した場合は、500 内部サーバー エラーを送信し、PayPal IPN サーバーは後で再試行します。また、空の応答を受け取るたびに、完全なサーバー応答 (ヘッダーを含む) をログに記録することもできます。

于 2011-02-23T11:13:48.060 に答える
0

ゲームに遅れましたが、他の誰かが尋ねた場合に備えて.

私はこれを数時間トラブルシューティングしてきましたが、私の場合と同じように、PayPal は Sandbox での IPN テストに完全な URL を使用することを要求しています。

たとえば、「https://sandbox.paypal.com/cgi-bin/webscr」ではなく、「https://www.sandbox.paypal.com/cgi-bin/webscr」という URL を使用します。www を含める必要があります。そうしないと、PayPal から空の文字列がスローされます。INVALID は返されず、Verify も行われません。空になるだけです。

とにかくそれは私のために働いた。これを変更したら、すべてが正常に動作しています。

于 2015-05-26T13:55:22.457 に答える