2012-02-22 10 views
1

私は新しいホストにサーバを移動しました。私のpaypal ipnページのDNSを明らかに変更しました。Paypal IPNは、同じトランザクションでIPNページに連続してアクセスします。

何らかの理由で、paypalは、同じトランザクションを何度も繰り返して、約30秒ごとにページを叩き続けます。

もちろん、検証された後、重複レコードとしてデータベースに格納されます。

誰でもこの問題がありましたか?または修正方法を知っていますか?

答えて

1

ブラウザが200 OKステータスをpaypalに戻っていることを確認してください。

どちらの方法でも、IPNトラッキングID(ipn_track_id)をデータベースに保存し、重複を確認する必要があります。これはあなたの問題を解決する唯一の保証された方法です。 PayPalのIPNのdocumntationによる

0

は、あなたのリスナーは、あなたがそれで何かをする を意図したか否か、各メッセージに応答しなければなりません。応答しない場合、PayPalは メッセージが受信されていないとみなし、メッセージを再送信します。 メッセージの間隔が毎回増えますが、リスナーが 正しいメッセージを返信するまで、PayPalは にメッセージを定期的に再送信します。メッセージは最大で4回まで再送信することができます。 日。

この再送アルゴリズムは、 メッセージを元に戻している間に、PayPal がIPNメッセージを再送する状況につながります。この場合、 をPayPalが最初に の返信を受け取っていない可能性をカバーするために、返信を再度送信する必要があります。また、メッセージに関連付けられたトランザクション を2回処理しないようにする必要があります。

重要:PayPal は、30秒以内にIPNメッセージへの応答を受信する予定です。 リスナーは、IPNメッセージに応答する前に、 プロセスの作成など、時間のかかる操作を実行すべきではありません。

だからa)はあなたのスクリプトが適切に応答しています。b)あなたのトランザクションのnotify_urlパラメータがDNSの変更と異なるのですか?