# オーソリの拡張 Stripe Terminal での確定済みの支払いを後でキャプチャーします。 オーソリの拡張では、カードブランドや、お客様のビジネスが対象カテゴリーかどうかに応じて、*確定済みの* (Confirming a PaymentIntent indicates that the customer intends to pay with the current or provided payment method. Upon confirmation, the PaymentIntent attempts to initiate a payment) [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) を最大 30 日後までキャプチャーすることができます。これは、オーソリと支払いのキャプチャーとの間に通常 48 時間 (または Visa の場合は 5 日) 以上を必要とする場合に役立ちます。たとえば、ホテルは宿泊客がチェックインする際に支払いの全額をオーソリしますが、支払いのキャプチャーはチェックアウトの際に行います。 ## 利用状況 オーソリの拡張は、Visa、Mastercard、アメリカン・エキスプレス、ディスカバーで利用できます。[Interac](https://docs.stripe.com/terminal/payments/regional.md?integration-country=CA#interac-payments) や [eftpos](https://docs.stripe.com/terminal/payments/regional.md?integration-country=AU#eftpos-payments) などのシングルメッセージの決済手段では、オーソリの拡張はサポートされていません。 > 加盟店のビジネスカテゴリーが対象となるかどうか不明な場合は、[サポート](https://support.stripe.com/contact)までお問い合わせください。*Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients) ユーザーの場合は、ビジネスと一致するように連結アカウントの[加盟店カテゴリーコードを設定](https://docs.stripe.com/connect/setting-mcc.md)してください。 ## オーソリの拡張サポートをリクエストする `PaymentIntent` を作成する際に、支払いのキャプチャー期間の延長をリクエストできます。[request_extended_authorization](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-request_extended_authorization) フィールドを `true` に設定し、[capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) を `manual` に設定します。 #### サーバー側 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]=card_present" \ -d capture_method=manual \ -d "payment_method_options[card_present][request_extended_authorization]=true" ``` #### iOS #### Swift ```swift let cardPresentParams = try CardPresentParametersBuilder().setRequestExtendedAuthorization(true).build() let paymentMethodOptionsParams = try PaymentMethodOptionsParametersBuilder(cardPresentParameters: cardPresentParams).build() let params = try PaymentIntentParametersBuilder(amount: 1000, currency: "usd") .setPaymentMethodOptionsParameters(paymentMethodOptionsParams) .build() Terminal.shared.createPaymentIntent(params) { createResult, createError in if let error = createError { print("createPaymentIntent failed: \(error)") } else if let paymentIntent = createResult { print("createPaymentIntent succeeded") // ... } } ``` #### Android #### Kotlin ```kotlin val cardPresentParams = CardPresentParameters.Builder() .setRequestExtendedAuthorization(true) .build() val paymentMethodOptionsParams = PaymentMethodOptionsParameters.Builder() .setCardPresentParameters(cardPresentParams) .build() val params = PaymentIntentParameters.Builder() .setAmount(1000) .setCurrency("usd") .setPaymentMethodOptionsParameters(paymentMethodOptionsParams) .build() Terminal.getInstance().createPaymentIntent( params, object : PaymentIntentCallback { override fun onSuccess(paymentIntent: PaymentIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } } ) ``` #### React Native ```js const { paymentIntent, error } = await createPaymentIntent({ amount: 1000, currency: 'usd', paymentMethodOptions: { requestExtendedAuthorization: true, } }); if (error) { console.log(`createPaymentIntent failed: ${error.message}`); return; } console.log('createPaymentIntent succeeded'); ``` レスポンスの [capture_before](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-card_present-capture_before) フィールドにオーソリの期限が示されます。この期間内に支払いがキャプチャーされない場合、オーソリはキャンセルされ、売上はリリースされます。これが発生すると、[PaymentIntent のステータス](https://docs.stripe.com/payments/paymentintents/lifecycle.md)は `canceled` に変わります。 ## オーソリの有効性 オーソリの有効期間に関するルールは、カードネットワークやカードブランドごとに異なります。Terminal を使用した対面支払いの場合は少なくとも 2 日間有効です。オーソリルールは事前の通告なしに変更される場合があるため、[capture_before](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-card_present-capture_before) フィールドを使用してそれぞれのオーソリの有効期間を判断するようにしてください。 > `capture_before` フィールドは [Charge](https://docs.stripe.com/api/charges/object.md) にあるため、`PaymentIntent` が確定された後にのみ表示されます。 | カードブランド | 加盟店カテゴリー | オーソリ有効期間の拡張 | | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ----------- | | **Visa** | ホテル、宿泊施設、車のレンタル、クルーズ会社 | 30 日間* | | **Visa** | 飛行機のレンタル、自転車のレンタル (電動スクーターを含む)、ボートのレンタル、衣類とコスチュームのレンタル、DVD とビデオのレンタル、機器と工具のレンタル、家具のレンタル、モーターホームのレンタル、オートバイのレンタル、トレーラーパークおよびキャンプ地 | 10 日間** | | **Mastercard** (Maestro/Cirrus カードは含まない) | すべての加盟店カテゴリー | 30 日間 | | **アメリカン・エキスプレス** | 宿泊施設および車のレンタル | 30 日間*** | | **ディスカバー** | 航空会社、バスチャーター / ツアー、車のレンタル、クルーズ会社、地方 / 郊外の通勤・通学用交通機関、旅客輸送 (フェリー、ホテル、宿泊施設、鉄道を含む) | 30 日間 | 正確なオーソリ拡張期間は、決済処理を見越して 29 日と 18 時間です。** 正確なオーソリ拡張期間は、決済処理を見越して 9 日と 18 時間です。*** 有効期間は 30 日間に延長されますが、利用者の宿泊やレンタル期間の終わりまでに、オーソリ済みの売上をキャプチャーする必要があります。