キャプチャされていない支払いを審査する
Stripe の実装がオーソリとキャプチャーを使用している場合の、審査の使用方法をご紹介します。
デフォルトでは、ワンステップで Stripe の支払いを作成できるため、追加作業をしなくても銀行口座に売上が送金されます。
一方で、Stripe はオーソリとキャプチャーと一般的に呼ばれている 2 段階支払いにも対応しています。実装にこの技術を使用する場合、審査の承認と支払いのキャプチャーが別のアクションである点に注意してください。
キャプチャされていない支払いをダッシュボードで審査する
Stripe がキャプチャーされていない支払いを審査対象にする場合は、ダッシュボードに承認または返金で審査を終了させる一連のボタンに加え、キャプチャーボタンが表示されます。また、キャプチャーされていない支払いの返金は「リリース」または「差戻し」と呼ばれることが多いため、キャプチャーされていない支払いの場合には返金ボタンではなくキャンセルボタンが表示されます。
注
審査を承認しても、支払いは自動的にキャプチャされません。キャプチャボタンをクリックする必要があります。
API を使用して承認済みの支払いを自動キャプチャする
API を使用して、組み込みが以下に対応できるように設定できます。
review
対象「ではない」支払いを即座にキャプチャーするreview
対象となった支払いをキャプチャーしないままにする- 審査が承認されたら、支払いをキャプチャーする
審査対象外の支払いを即座にキャプチャする
キャプチャーされていない支払いを作成するには、API リクエストでキャプチャー動作を設定します。成功したら、PaymentIntents の review (審査) 属性を確認します。属性が空の場合、支払いをキャプチャーします。
審査承認後の支払いをキャプチャーする
設計上、前のステップでは review
中の支払いはキャプチャーされていません。このステップでは、Webhook を使用して、承認時にこれらの支払いをキャプチャーするプロセスを自動化します。
最初に Webhook を設定して、review.
イベントをリッスンします。このイベントデータには Review (審査) オブジェクト が含まれます。オブジェクトの reason
属性は、審査が承認されたか、その他の理由 (支払いが返金されたなど) により終了されたかを示します。
// Review object included in review.closed event webhook. { "id": "prv_08voh1589O8KAxCGPcIQpmkz", "object": "review", "payment_intent": "pi_1D0CsEITpIrAk4QYdrWDnbRS", "created": 1474379631, "livemode": false, "open": false, "reason": "approved" }
reason
が approved
の場合、支払いをキャプチャします。
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
post "/my/webhook/url" do event_json = JSON.parse(request.body.read) event = Stripe::Event.retrieve(event_json["id"]) if event.type == 'review.closed' review = event.object if review.reason == 'approved' pi = Stripe::PaymentIntent.retrieve(review.payment_intent) pi.capture end end status 200 end'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
承認された支払いをキャプチャーするには、審査作業を 7 日以内に完了させる必要があります。完了しなかった場合、キャプチャーされていない他のすべての支払いと同様に、オーソリは自動的に期限切れとなり、支払いをキャプチャーできなくなります。