2016-04-14 15 views
1

私は自分のサイトでPayPalのホストされたページを使用しています。 iframe urlで使用されているSECURETOKENを作成すると、返信URLを渡します。クライアントの支払いが成功した後、SECURETOKENが作成されたときに返されたURLにPayPalのブラウザポストバックが表示されます。ポストバックを取得する前にユーザーがタブを閉じて、トランザクションが承認され、ローカルDBで承認されたものとしてマークすることはできません。IPNを使用してPayPalでのお支払いを確認する

回避策は、IPNリスナーを作成し、有効なIPN要求を受け取ったときにローカルレコードを更新することでした。

ここで問題は、iframeポストバックで取得しているパラメータがありません。これは必須です(ACCEXPTIMEPNREFなど)。

私が読むことができる限り、IPNは決してそれらのデータを要求で送信しません。これはpaypalのマネージャーの中で無効にすることができますか?そうでない場合は、誰もこの問題の解決方法を提案できますか?

おかげ

+0

私は全体のアプローチが間違っていると思います。これまでになく、つまりIPNを取得したときなど、お金を受け取った時点で完了した取引をマークする必要があります。他には何もビジネスセンスがありません。余分なパラメータは、IPNを取得するまでデータベースに保存する必要があります。 – EJP

+0

@EJP多分私は全体の流れを説明していないかもしれませんが、はい、私は取引が承認されるまで承認されたものとしてマークしません。余分なパラメータは支払いと同じリソースに保存されますが、IPNやその他のPayPalで確認済みのポストバック – dzona

+0

から確認を受けるまで、すべてのビジネスプロセスで無視されます。 – EJP

答えて

0

は、私は私のPayPalのマネージャーでSilent POST url機能を有効にすることによって、これを行うために管理し、その支払いが受理された後、サーバーのポストバックに同じサーバーは、関係なく、クライアント閉鎖ブラウザの起動されます。

関連する問題