2

Ruby on Rails アプリで ActiveMerchant gem を介してエクスプレス チェックアウト API を使用しています。承認とキャプチャのフロー全体は、3 時間以内に完了すると問題なく機能します。しかしその後、トークンの有効期限が切れ、トランザクションが失われます。承認とキャプチャのドキュメントに、承認が 3 日間有効であると記載されている場合でも (少なくともhttps://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_admin_authcaptureによると)。

では、トークンの有効期限が切れた後にトランザクションをキャプチャするにはどうすればよいでしょうか?

4

1 に答える 1

3

トークンを渡す必要はありません。以下の流れで進めてください。

  1. SetExpressCheckout API 呼び出しを行い、支払いアクションを承認 (A) に設定します。
  2. トークンを取り戻す
  3. ログインして支払いに同意するためのトークンを使用して、購入者を PayPal にリダイレクトします
  4. 購入者は、トークンと支払人 ID が返された状態でサイトにリダイレクトされます
  5. その後、トークンを使用して GetExpressCheckoutDetails API 呼び出しを実行できます (この手順はオプションです)。
  6. 次に、DoExpressCheckoutPayment API を実行して、トークンを渡し、支払いアクションを認証 (A) に設定します。

次に、エクスプレス チェックアウトの承認を完了します。

ここで、1 日か 2 日後に戻って、以前に DoExpressCheckoutPayment API から返されたトランザクション ID を送信する DoCapture API を実行します。ここでトークンを再度送信する必要はありません。DoCapture を完了すると、資金がアカウントに表示されます。

于 2013-06-21T19:25:02.100 に答える