支払いでオーソリ額を超える金額をキャプチャーする
オーバーキャプチャーにより、カード支払いでオーソリされた金額よりも高い金額をキャプチャーできます。増分オーソリとは異なり、オーバーキャプチャーではカードネットワークによる追加のオーソリは発生しません。PaymentIntent をオーバーキャプチャーしても、顧客のクレジットカード明細書はすぐには更新されません。キャプチャーされた金額の売上処理が行われると、最初の保留オーソリが、最終的なキャプチャー金額に更新されます。
提供状況
オーバーキャプチャーを使用する際には、次の制限にご注意ください。
- Visa、Mastercard、アメリカン・エキスプレス、ディスカバーのみで利用できます。
- オンラインカード決済のみが対象です。対面カード決済の場合は、チップを回収する方法をご覧ください。
- カードブランドはオーバーキャプチャーできる金額を制限 (通常はオーソリ金額の割合として計算) し、国、カード種別、加盟店カテゴリー制限などの追加の制約を適用します (以下をご覧ください)。
IC+ 機能
Stripe は、IC+ 料金体系のユーザーにオーバーキャプチャーの機能を提供しています。Stripe の標準の料金体系をご利用で、この機能の利用をご希望の場合は、support.stripe.com で詳細をご確認ください。
カードネットワーク、加盟店の国、加盟店カテゴリー別の提供状況
カード会社 | 加盟店の所在国 | 加盟店カテゴリ | パーセントの上限 |
---|---|---|---|
Visa* | グローバル | タクシーおよびリムジン、飲食店およびレストラン、酒類を提供する飲食店、ファーストフード店、理髪店および美容院、ヘルスおよびエステティックサロン | +20% |
グローバル | レンタカー | +15% または +75 USD (または現地通貨での相当額) の金額が高い方 | |
グローバル | 宿泊施設、クルーズ会社 | +15% | |
グローバル** | その他すべての加盟店カテゴリー | +15% | |
Mastercard | アメリカ*** | 飲食店、レストラン、ファーストフード店 | +30% |
アメリカン・エキスプレス | グローバル**** | 飲食店およびレストラン、酒類を提供する飲食店、ファーストフード店 | +30% |
グローバル | タクシーおよびリムジン、理髪店および美容院、ヘルスおよびエステティックサロン | +20% | |
グローバル | 宿泊施設、レンタカー、トラック / ユーティリティートレーラーのレンタル、モーターホーム / RV 車のレンタル、食料品店、小売店 | +15% | |
ディスカバー | グローバル | タクシーおよびリムジン、飲食店およびレストラン、酒類を提供する飲食店、ファーストフード店、理髪店および美容院、ヘルスおよびエステティックサロン | +20% |
グローバル | 宿泊施設、レンタカー | +15% |
** カード保有者の開始した取引の場合
*** また、アメリカで発行されたカードであること
**** デビットカードおよびプリペイドカードの支払いのパーセントの上限は 20%
限定的に対応しているネットワーク (ベータ版)
強力な顧客認証 (SCA) を使用したオーバーキャプチャー
強力な顧客認証 (SCA) 要件がある国にお客様とカード保有者が所在している場合は、オーバーキャプチャーの利用に次の制限があります。
- SCA 要件では通常、最終的にキャプチャーする金額以上の金額を認証する必要があります。このため、このページの他の場所で説明されているオーバーキャプチャーを使用するのではなく、キャプチャーを予定している最高推定金額を認証し、承認する必要があります。その後、提供される物品やサービスの総額に応じて、認証した全額を上限としてキャプチャーできます。承認し、認証した元の金額を超える金額をキャプチャーすることが必要になった場合は、元の支払いをキャンセルし、正しい金額で新しい支払いを作成する必要があります。ただし、この要件にはいくつかの例外があります (下記参照)。
- SCA に対して取引が免除され、オーバーキャプチャーが許容されるケースがいくつかあります。たとえば、決済フロー時に顧客が物理的には存在しない、加盟店により開始される取引 (MIT) は、潜在的に免除対象です。どのようなときに取引を MIT として分類するかをご覧ください。
オーバーキャプチャーと SCA 要件を総合的に理解するには、詳細なドキュメントを熟読する必要があります。詳しくは SCA ガイドをご覧ください。
法令遵守に向けた取り組み
オーバーキャプチャーを使用する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任はお客様にあります。この機能を利用する予定であるカードネットワークの規則を確認し、売上の内容が適用される規則に準拠しているか確認してください。規則はネットワークによって異なります。たとえば、一部のカードネットワークは、オーソリ時に最終取引額が判明していると思われる取引でオーバーキャプチャーを使用することを認めていません。
当ページに記載の情報のうち、これらの要件の遵守に関する情報は一般的なガイダンスであり、法律、税務、会計、その他の専門的なアドバイスではありません。ご自身の義務について不明な点がある場合は、専門家に相談することをお勧めします。
未キャプチャー分の PaymentIntent を作成して確定する
PaymentIntent の確定後にのみ、キャプチャーされていない支払いに対してオーバーキャプチャーを実行できます。オーソリとキャプチャーを個別に行うことを示すには、PaymentIntent の作成時に capture_method を manual
として指定します。オーソリとキャプチャーの分離について、詳細は決済手段を保留する方法をご覧ください。
request_overcapture パラメーターで if_available
を使用し、オーバーキャプチャーする予定の PaymentIntents を指定する必要があります。
PaymentIntent 確定レスポンスで、latest_charge の overcapture.status フィールドを参照し、提供状況に基づいて、その支払いにオーバーキャプチャーを利用できるかどうかを判断します。available
の場合、maximum_amount_capturable フィールドは PaymentIntent でキャプチャーできる最大額を示します。unavailable
の場合、maximum_amount_capturable はオーソリされた金額になります。
// PaymentIntent response { "id": "pi_xxx", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, "amount_received": 0, "status": "requires_capture", ... // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "payment_method_details": { "card": { "amount_authorized": 1000 "overcapture": { "status": "available", // or "unavailable" "maximum_amount_capturable": 1200 } } } ... } ... }
PaymentIntent をキャプチャーする
PaymentIntent で現在のオーソリ額を超える金額をキャプチャーするには、capture エンドポイントを使用し、maximum_amount_capturable までの amount_to_capture を指定します。
maximum_amount_capturable
を超える金額をキャプチャーする必要がある場合は、増分オーソリを実行して、可能な場合はオーソリ額を増額します。
オーバーキャプチャーに成功すると、PaymentIntent のキャプチャーレスポンスの amount_capturable と amount_received フィールドがそれぞれ更新されます。返されるキャプチャー済みの PaymentIntent では、この支払いで移動する合計金額を反映して、金額が更新されています。オーバーキャプチャーに成功した支払いのオーソリ済みの元の金額を参照するには、関連する支払いの amount_authorized フィールドを使用します。
// PaymentIntent response { "id": "pi_xxx", "object": "payment_intent", "amount": 1200, "amount_capturable": 0, "amount_received": 1200, "status": "succeeded", ... // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "payment_method_details": { "card": { "amount_authorized": 1000, "overcapture": { "maximum_amount_capturable": 1200, "status": "available" // or "unavailable" } } } ... } ... }
実装をテストする
以下のいずれかの Stripe テストカードを、セキュリティコードと将来の有効期限日とともに使用して、テスト環境でのオーバーキャプチャーをリクエストして実行します。所定のネットワークのテスト環境の支払いでオーバーキャプチャーが利用可能である場合、本番環境でも利用可能になります。
カード会社 | カード番号 | 決済手段 |
---|---|---|
Visa | pm_card_visa | |
Mastercard | pm_card_mastercard | |
アメリカン・エクスプレス | pm_card_amex | |
ディスカバー | pm_card_discover |