2012-02-15 4 views
1

私は現在、私が働いているウェブサイトでPaypalを支払いシステムとして使用しています。支払いが完了すると、Paypalは私が提供したIPNページを呼び出し、すべてがうまくいく。しかし、その人が支払いを取り消した場合、私はその事実を知っているとは思えません。(少なくとも私が理解しているところから)。キャンセルペイパル決済の処理

確かに、「キャンセルしてウェブサイトに戻る」をクリックすると、彼は私が提供したキャンセルページに戻ります。しかし、もし彼がちょうどペイパルのページを閉じれば?彼は決して私のウェブサイトのキャンセルページに戻りません。

場合によっては、それほど問題にはならないと思います。私は支払いがキャンセルされたかどうかを知る方法があると確信していますが、私はそれを見つけることができません。それが私がここにいる理由です。

ありがとうございました。

答えて

1

取引テーブルに何らかの確認フィールド(例:ipn_confirmed)を実装できるはずです。

paypalのIPNが値を返すときにはunconfirmedというデフォルトに設定し、confirmedと設定します。次に、confirmedという要求のみを処理します。マトリックスに不具合がある場合は、お客様に連絡してPayPalの取引情報を送信し、お客様のデータと一致する必要があります。一致する場合は処理してください。

+0

ありがとうございます。 私はPaypalから支払いが完了したという応答を受け取ったときに確定するように設定されているこのようなフィールドはすでに持っていますが、それがどのように役立つのか分かりません。 私はオブジェクトを販売しており、1人だけがそれを購入できるとしましょう。それが現時点で働く方法は、人が物を買うとき、彼は彼が彼の支払いを完了している間誰もそれを買うことができないように彼のために予約されているということです。だから私は支払いがキャンセルされたかどうかを知りたかったので、私は "予約"を取り消すことができます。 今、私はそれが最良の方法ではないかもしれないと思っています... – Y0lk

+0

それでは、確認フィールドを補完するための何らかの有効期限を設けてください。私はCCの性質をどれくらいの間与えなければならないか分かりません。主な考え方は、このトランザクションがxx分/時間中に完了しない場合です。販売が再び開かれます。 – ariefbayu

+0

今私はそれについて考えている、あなたがちょうど言ったことは私に完全な意味がある。予約をすぐにキャンセルするよりも優れています。このようにして、私はその人が支払いを完了するためにある程度の時間を許すことができます。また、その人は何か他のものを購入する前にその支払いを完了しなければなりません。そうでなければ、人はそれを乱用して、購入せずにたくさんのものを予約することができます。 ありがとうございました。 – Y0lk

関連する問題