私は新しいホストにサーバを移動しました。私のpaypal ipnページのDNSを明らかに変更しました。Paypal IPNは、同じトランザクションでIPNページに連続してアクセスします。
何らかの理由で、paypalは、同じトランザクションを何度も繰り返して、約30秒ごとにページを叩き続けます。
もちろん、検証された後、重複レコードとしてデータベースに格納されます。
誰でもこの問題がありましたか?または修正方法を知っていますか?
私は新しいホストにサーバを移動しました。私のpaypal ipnページのDNSを明らかに変更しました。Paypal IPNは、同じトランザクションでIPNページに連続してアクセスします。
何らかの理由で、paypalは、同じトランザクションを何度も繰り返して、約30秒ごとにページを叩き続けます。
もちろん、検証された後、重複レコードとしてデータベースに格納されます。
誰でもこの問題がありましたか?または修正方法を知っていますか?
ブラウザが200 OKステータスをpaypalに戻っていることを確認してください。
どちらの方法でも、IPNトラッキングID(ipn_track_id)をデータベースに保存し、重複を確認する必要があります。これはあなたの問題を解決する唯一の保証された方法です。 PayPalのIPNのdocumntationによる
:
は、あなたのリスナーは、あなたがそれで何かをする を意図したか否か、各メッセージに応答しなければなりません。応答しない場合、PayPalは メッセージが受信されていないとみなし、メッセージを再送信します。 メッセージの間隔が毎回増えますが、リスナーが 正しいメッセージを返信するまで、PayPalは にメッセージを定期的に再送信します。メッセージは最大で4回まで再送信することができます。 日。
この再送アルゴリズムは、 メッセージを元に戻している間に、PayPal がIPNメッセージを再送する状況につながります。この場合、 をPayPalが最初に の返信を受け取っていない可能性をカバーするために、返信を再度送信する必要があります。また、メッセージに関連付けられたトランザクション を2回処理しないようにする必要があります。
重要:PayPal は、30秒以内にIPNメッセージへの応答を受信する予定です。 リスナーは、IPNメッセージに応答する前に、 プロセスの作成など、時間のかかる操作を実行すべきではありません。
だからa)はあなたのスクリプトが適切に応答しています。b)あなたのトランザクションのnotify_urlパラメータがDNSの変更と異なるのですか?