1

IPN を処理するための PHP コードの PayPal サイトで、彼らはいくつかの小さなチェックを行い、次に何をすべきかについていくつかのコメントを入れています。

コメントの一つは

// check that txn_id has not been previously processed

処理された場合、何か問題があることを示します。

payment_status が「Pending」から「Completed」になるとどうなりますか? 同じ txn_id が送信されるはずですよね? 他にどのようにトランザクションを識別し、データベース内のレコードを更新し、その特定の IPN メッセージに対してどの「txn_type」がポストされますか?

IPN は何年も前から存在していますが、それでもドキュメントは非常に曖昧で、ほとんどの場所で説明が不十分です。詳細に説明するのではなく、多くのシナリオで何が起こるかを推測する必要があります。

どんな助けでも大歓迎です。

4

1 に答える 1

1

トランザクション ID は、発生したトランザクションの一意の ID である必要があります。指摘したロジックは、トランザクションが重複していないこと (たとえば、システムに複数回挿入されていないこと) を確認することであり、トランザクションの更新には同じトランザクション ID が必要です。そのため、トランザクション ID が存在するかどうかを確認する必要があります。存在する場合は、必要に応じてフィールドを更新してください。

于 2013-11-06T18:18:40.597 に答える