# 支払い方法を保留する オーソリとキャプチャーを分離して、支払いはすぐに作成しますが、売上のキャプチャーは後で行います。 決済を作成する際に、対象の支払い方法を保留することで、売上をリザーブして後からキャプチャーすることができます。たとえば、ホテルではゲストのチェックイン前に決済を全額オーソリし、ゲストのチェックアウト時にその金額をキャプチャーするといったことがよく行われます。これは、*手動キャプチャー* (Manually capture funds separately from an authorization)と呼ばれることもあります。 決済のオーソリにより、顧客の支払い方法で金額が確保されて保証されます。API を使用している場合、支払いの [payment_method_details.card.capture_before](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-card-capture_before) 属性は、オーソリの有効期限が切れる日時を示します。 オーソリの有効期限が切れる前に売上をキャプチャーする必要があります。売上のキャプチャー前にオーソリの有効期限が切れた場合、売上がリリースされ、決済ステータスが `canceled` に変更されます。詳細は[非同期型の支払いのステータス](https://docs.stripe.com/payments/paymentintents/lifecycle.md)をご確認ください。 ## オーソリの有効期間 次の表は、さまざまな取引タイプをオーソリする際の有効期間の概要を示しています。 ### カード非提示取引 | カードブランド | [加盟店により開始される取引](https://docs.stripe.com/payments/cits-and-mits.md)のオーソリの有効期間 | [顧客により開始される取引](https://docs.stripe.com/payments/cits-and-mits.md)のオーソリの有効期間 | | ---------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------- | | **Visa** | 5 日間* | 7 日 | | **Mastercard** | 7 日 | 7 日 | | **アメリカン・エキスプレス** | 7 日 | 7 日 | | **ディスカバー** | 7 日 | 7 日 | 正確なオーソリ期間は、決済処理を見越して 4 日と 18 時間です。 ### カード提示取引 (対面支払い) | カードブランド | オーソリの有効期間 | | ---------------- | --------- | | **Visa** | 5 日間* | | **Mastercard** | 2 日 | | **アメリカン・エキスプレス** | 2 日 | | **ディスカバー** | 2 日 | 正確なオーソリ期間は、決済処理を見越して 4 日と 18 時間です。 ### 日本における 30 日間のオーソリ期間 日本に所在するアカウントの場合、Visa、Mastercard、JCB、ダイナースクラブ、ディスカバーを利用する日本円建ての取引は最長 30 日間、保留にできます。 日本円以外の取引とアメリカン・エキスプレスの取引は、標準どおり 7 日間で有効期限が切れます。 > 2024 年 4 月 14 日以降、Visa はオンラインで[加盟店により開始される取引](https://docs.stripe.com/payments/cits-and-mits.md)のオーソリ期間を 7 日から 5 日に短縮しました。また、(端末による) 対面取引のオーソリ期間が 2 日から 5 日に延長されました。 ## 決済手段の制限事項 導入前に、オーソリとキャプチャーの分離に関する次の制限事項を確認してください。 - オーソリと*キャプチャー* (Fulfillment is the process of providing the goods or services purchased by a customer, typically after payment is collected)の分離に対応しているのは一部の決済手段に限られます。対応している決済手段は、カード支払い、Affirm、Afterpay、Cash App Pay、Klarna、PayPal などです。一方、対応していない決済手段は、[ACH](https://docs.stripe.com/payments/ach-direct-debit.md) や [iDEAL](https://docs.stripe.com/payments/ideal.md) などです。詳細は[決済手段の機能のサポート](https://docs.stripe.com/payments/payment-methods/payment-method-support.md)をご覧ください。 - 上記の表に記載されている以外にも、他の決済手段にはさまざまな規則とオーソリ期間が適用されます。 - カード支払い: 通常、オンライン決済で 7 日間、対面の Terminal 決済で 2 日間、金額が保留されます (取引のタイプとカードネットワークに応じて異なります)。有効期間延長の対象となる一部の[オンライン](https://docs.stripe.com/payments/extended-authorization.md)決済および [Terminal 決済のオーソリ](https://docs.stripe.com/terminal/features/extended-authorizations.md)については、オーソリの延長をリクエストすることができます。また、カードネットワークはキャプチャーを意図しない 1 USD のオーソリを禁止する可能性があります。 - [Affirm](https://docs.stripe.com/payments/affirm/accept-a-payment.md?platform=web#manual-capture): Affirm で非常に高額の注文額に対して頭金が必要な場合、オーソリ時にその金額が請求され、支払いがキャプチャーされなかった場合は返金されます。その後は、30 日以内に支払い残高をキャプチャーしてください。 - [Afterpay / Clearpay](https://docs.stripe.com/payments/afterpay-clearpay/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): オーソリ時に、顧客は最初の返済の分割払いを支払います。Afterpay は、支払いがキャプチャーされなかった場合、その支払いを返金します。13 日以内に支払い残高をキャプチャーする必要があります。 - [Cash App Pay](https://docs.stripe.com/payments/cash-app-pay/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): 決済を完了するには、有効なオーソリを 7 日以内にキャプチャーする必要があります。 - [Klarna](https://docs.stripe.com/payments/klarna/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): 支払いリクエストから 28 日目の午前 0 時までに支払いをキャプチャーする必要があります。そうしないと、オーソリの有効期限が切れます。たとえば、UTC 2020-10-01 14:00 に行われた支払いリクエストは、UTC 2020-10-29 00:00 までにキャプチャーする必要があります。 - [PayPal](https://docs.stripe.com/payments/paypal/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): 金額を 10 日間保留します。Stripeは自動的にさらに 10 日間 (合計 20 日間) の保留の延長を試みます。[決済の設定](https://docs.stripe.com/payments/paypal/choose-settlement-preference.md)がオーソリ有効期間に影響する場合があります。詳細については、[オーソリとキャプチャーの分離](https://docs.stripe.com/payments/paypal/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture)をご覧ください。 ## ダッシュボードを使用してオーソリとキャプチャーを行う コードを記述せずに、支払いのオーソリと売上のキャプチャーを別々に行うことができます。 1. ダッシュボードで[新しい支払いを作成](https://dashboard.stripe.com/test/payments/new)し、**1 回限り**を選択します。 1. 支払い方法を入力または選択する際に、**その他のオプション** を選択して、**売上を後でキャプチャー**を選びます。 支払いは、[支払いページ](https://dashboard.stripe.com/test/payments)に**未キャプチャー**として表示されます。 売上をキャプチャーするには、支払いの詳細ページに移動して**キャプチャー**をクリックします。 ## オーソリのみを行うように Stripe に指示する #### Checkout Sessions API オーソリとキャプチャーの分離を指定するには、Checkout セッションの作成時に [capture_method](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-capture_method) を `manual` に指定します。このパラメーターは、Stripe に対して、金額のオーソリのみを行い、顧客の決済手段でキャプチャーしないよう指示します。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d mode=payment \ -d ui_mode=custom \ -d "payment_intent_data[capture_method]"=manual ``` 上記の方法では、対象となる決済手段を使用した Checkout セッションでのみ Stripe に「後からキャプチャー」を指示できます。 #### Payment Intents API オーソリとキャプチャーを分離することを示すには、PaymentIntent の作成時に、[capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) に `manual` を指定します。このパラメーターは、Stripe に対して、金額のオーソリのみを行い、顧客の支払い方法でキャプチャーしないよう指示します。 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d capture_method=manual ``` 上記の方法では、対象となる決済手段を使用した PaymentIntent でのみ「後でのキャプチャー」を Stripe に指示できます。たとえば、カード支払いと SEPA ダイレクトデビット (後でのキャプチャーに対応していない) を 1 つの PaymentIntent で受け付けることはできません。後でのキャプチャーに対応していない可能性のある決済手段を受け付けるには、`payment_method_options[]` オブジェクトで `capture_method=manual` を設定して、capture-after-per-payment-method を設定できます。 たとえば、`payment_method_options[card][capture_method]=manual` を設定すると、カード支払いのみが保留されます。決済手段は[ダッシュボード](https://dashboard.stripe.com/settings/payment_methods)で管理できます。Stripe は取引額、通貨、決済フローなどの要素に基づいて、各顧客に対応した最も関連性の高い決済手段を[動的に表示](https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods.md)するロジックを処理します。 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d "payment_method_options[card][capture_method]"=manual ``` また、以下の例のように[決済手段タイプ](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_types)を使用して、`card` と `sepa_debit` を一覧表示することもできます。 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=eur \ -d "payment_method_types[]"=card \ -d "payment_method_types[]"=sepa_debit \ -d "payment_method_options[card][capture_method]"=manual ``` 引き続きキャプチャーを行う前に、カード詳細による支払い方法を PaymentIntent に関連付け、PaymentIntent を確定してカードをオーソリします。これを行うには、PaymentIntent で `payment_method` フィールドと `confirm` フィールドを設定します。 > #### オーソリの拡張 > > 通常、オンラインカード決済に対するオーソリの有効期間は、7 日間です。この有効期間を延長するために、[オンラインカード決済に対する保留を延長する](https://docs.stripe.com/payments/extended-authorization.md)ことができます。 ## 売上をキャプチャーする > #### Checkout セッションには PaymentIntent ID が割り当てられています > > Checkout Sessions API を使用している場合は、Checkout Session オブジェクトで返される [PaymentIntent ID](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-payment_intent) を必ず使用してください。 支払い方法のオーソリが完了すると、PaymentIntent の[ステータス](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status)は `requires_capture` に移行します。オーソリ済みの売上をキャプチャーするには、PaymentIntent の[キャプチャー](https://docs.stripe.com/api/payment_intents/capture.md)リクエストを行います。デフォルトでは、オーソリ済みの総額がキャプチャーされます。当初の金額より少ない、または (特定のオンラインカード決済に対して) 多い金額をキャプチャーするには、[amount_to_capture](https://docs.stripe.com/api/payment_intents/capture.md#capture_payment_intent-amount_to_capture) オプションを渡します。部分的なキャプチャーを行った場合、残額は自動的にリリースされます。オンラインカード決済に対して当初より多い金額をキャプチャーする場合は、[オーバーキャプチャーに関するドキュメント](https://docs.stripe.com/payments/overcapture.md)で詳細をご確認ください。 次の例は、オーソリ済みの 10.99 USD の支払いのうち、7.50 USD をキャプチャーする方法を示しています。 ```curl curl https://api.stripe.com/v1/payment_intents/pi_123/capture \ -u "<>:" \ -d amount_to_capture=750 ``` 一部のカード決済は[マルチキャプチャー](https://docs.stripe.com/payments/multicapture.md)の対象となりますが、大半の決済ではオーソリ済みの決済をキャプチャーできるのは 1 回のみです。決済の一部をキャプチャーした場合、差額分に対して別途キャプチャーを行うことはできません (代わりに、[顧客の決済手段の詳細を後で使用できるように保存](https://docs.stripe.com/payments/save-during-payment.md#save-payment-details-for-future-use)し、必要に応じてそれ以降の決済を作成することを検討してください)。 カード発行会社および支払い方法のインターフェイスによっては、カード明細書でオーソリとキャプチャー (売上処理) された支払いが区別されておらず、顧客の混乱を招くことがあります。 さらに、顧客が手動キャプチャーによって PaymentIntent 上で支払い処理を完了すると、`payment_intent.amount_capturable_updated` イベントがトリガーされます。PaymentIntent からキャプチャー可能な合計額を確認するには、PaymentIntent の [amount_capturable](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-amount_capturable) プロパティを調べます。 ## オーソリをキャンセルする オーソリをキャンセルする必要がある場合は、[PaymentIntent をキャンセル](https://docs.stripe.com/refunds.md#cancel-payment)してください。 ## 有効期限が切れる前に支払いをキャプチャーする (Private preview) クレジットカード決済手段のキャプチャーを手動でトリガーするのではなく、オーソリの有効期限が切れる前に自動キャプチャーするように Stripe に指示できます。自動遅延キャプチャーを使用して、Authorized Payments のキャプチャーを見逃さないようにします。オーソリからキャプチャーまでのカスタム遅延期間を指定することもできます。 自動遅延キャプチャーを有効にするには、PaymentIntentで[capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card)を`automatic_delayed` として設定します: ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d "payment_method_options[card][capture_method]"=automatic_delayed ``` このアプローチでは、Stripe はオーソリの有効期限が切れる前にお客様のクレジットカード決済をキャプチャーし、有効期限の約 6 時間前にキャプチャーをトリガーします。これは、有効期限前に Authorized Payments をキャプチャーするためのバックアッププロセスとして機能します。PaymentIntent が自動的にキャプチャーされる前でも、手動で [キャプチャー](https://docs.stripe.com/api/payment_intents/capture.md) または [キャンセル](https://docs.stripe.com/refunds.md#cancel-payment) できます。 `capture_delay_days`パラメーターを含めることで、キャプチャーの カスタム遅延期間を指定できます。このパラメーターは、オーソリ成功後のキャプチャーの遅延日数を示します。 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d "payment_method_options[card][capture_method]"=automatic_delayed \ -d "payment_method_options[card][capture_delay_days]"=3 ``` この例では、Stripe はオーソリの成功から3日後に PaymentIntent を自動的にキャプチャーします。これは、オーソリからキャプチャーまでのアクションの実行に必要な時間を把握していて、オーソリの有効期限が切れる前にキャプチャーできる場合に役立ちます。 > `capture_method=automatic_delayed`を使用すると、Stripe はオーソリ有効期限前に決済をキャプチャーすることを優先します。オーソリ期間が指定された遅延期間よりも短い場合は、遅延期間を無視して有効期限前に PaymentIntent をキャプチャーします。 ## See also - [Checkout でのオーソリとキャプチャーを分ける](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=checkout&ui=stripe-hosted#auth-and-capture) - [オンラインカード決済に対する保留を延長する](https://docs.stripe.com/payments/extended-authorization.md)