2012-09-21 8 views
8

Paypalの返品先はToken ID(つまり:EC-XXXXXXXXXXXXXXXXX)ですか?私はそれが疑わしいですか?しかし、私がやっているのは、この取引がすでに処理されているかどうかを確認するためにトランザクションテーブルに挿入することです。PaypalのトークンIDが一意ですか?

私はトランザクションIDも使えるとは知っていますが、事実上は、GetExpressCheckoutDetailsDoExpressCheckoutなどのPayPal APIメソッドを使用する前にトークンIDが最初に返されることがあります。

自分の経験から、自分が思うものを教えてください。

ありがとうございます。

+1

トランザクションIDを使用してトランザクションを識別したいような音がします。ちょうど名前から、トークンはおそらくセキュリティのために使用されるノンスであり、ユニークであることが保証されていません。返信ありがとう、私はかなり似ていたと思った。 – bdares

答えて

7

トークンは一意ですが、最初に返されるのはセッションだけです。これは完全なトランザクションを示すものではなく、その目的のために保管しないでください。 PayPalは払い戻しなどのトランザクションを識別するためにPayPalを使用しないため、今後の使用のために保管することをお勧めしません。

SetExpressCheckout -> GetExpressCheckoutDetails -> DoExpressCheckoutPaymentから実際のチェックアウトフローを管理するためにトークンを使用し、DoExpressCheckoutPaymentから返されたTransactionIDを「トランザクション完了」インジケータとして保存することをお勧めします。 eChecksはあなたのアカウントにすぐにお金を与えていないので、おそらくPaymentStatusの返品を確認する必要があります。

+0

私が使用していた理由は、私は複数のリフレッシュをブロックすることができたので、それは良い考えだと思いますか? – Zubair1

+0

':例えば、ユーザが確認ボタンをクリックしただけで、次のページで彼の予約が成功し、予約と取引情報が正常に保存されました。しかし、ユーザーがページをリフレッシュすると、mysqlの一意のインデックスを持つ列が設定されているため、重複したトランザクションIDエラーなどのエラーが発生します。主キーが予約データをMySQLに挿入した時点で生成された一意の予約コードであるため、予約データを挿入します。 – Zubair1

+0

私はちょうど私の場合もこれを行うのは良い考えではないことに気付いたと思います。だから、私の混乱を解消してくれてありがとう。 – Zubair1

0

トランザクションIDはトランザクションで一意です。 トークンIDは、トランザクションIDが正しいかどうかを確認するために作成された番号です。

関連する問題