コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
    概要
    支払いを複数回キャプチャー
    支払いでオーソリ額を超える金額をキャプチャー
    オンラインカード決済に対する保留を延長
    オーソリを増額する
    支払いの一部オーソリ
    ベータから移行
オーケストレーション
店頭支払い
端末
決済にとどまらない機能
会社を設立する
仮想通貨
Financial Connections
Climate
ホーム支払いFlexible acquiring

支払いでオーソリ額を超える金額をキャプチャーする

オーバーキャプチャーを使用して、PaymentIntent のオーソリ額を超える金額をキャプチャーします。

オーバーキャプチャーにより、カード決済でオーソリ額よりも高い金額をキャプチャーできるようになります。増分オーソリとは異なり、オーバーキャプチャーではカードネットワークによる追加のオーソリは発生しません。PaymentIntent をオーバーキャプチャーしても、顧客のクレジットカード明細書にはすぐに反映されません。キャプチャー額が決済されると、保留中のオーソリのキャプチャー額が更新されます。

サポート状況

オーバーキャプチャーを行う際は、次の制限事項に注意してください。

  • Visa、Mastercard、アメリカン・エキスプレス、ディスカバーでのみ利用できます。
  • オンラインカード決済のみ利用できます。対面カード決済については、チップの収集方法を一度ご確認ください。
  • カードブランドは、オーバーキャプチャーできる金額を制限 (通常はオーソリ額の一定割合) し、国、カードタイプ、加盟店カテゴリー制限などの追加の制約を適用しています (以下を参照)。
  • CheckoutSession で mode は payment に設定され、capture_method は manual に設定されます

IC+ の特長

Stripe は、IC+ 料金体系 のユーザーにオーバーキャプチャーの機能を提供しています。標準の Stripe 料金体系をご利用で、この機能の利用をご希望の場合は、support.stripe.com で詳細をご確認ください。

カードネットワーク、加盟店の所在国、加盟店カテゴリー別のサポート状況

カードブランド加盟店の所在国加盟店カテゴリー上限割合
Visa*グローバルタクシー / リムジン、飲食店 / レストラン、居酒屋 (酒類提供店)、ファーストフード店、美容院 / 理髪店、ヘルススパ / エステティックサロン+20%
グローバルレンタカー+15% または +75 USD (または現地通貨での相当額) の金額が高い方
グローバル宿泊施設、クルーズ会社+15%
グローバル**その他すべての加盟店カテゴリー+15%
Mastercardアメリカ***飲食店 / レストラン、ファストフード店+30%
アメリカン・エキスプレスグローバル****飲食店 / レストラン、居酒屋 (酒類提供店)、ファストフード店+30%
グローバルタクシー / リムジン、美容院 / 理髪店、ヘルススパ / エステティックサロン+20%
グローバル宿泊施設、レンタカー、トラック / 多目的トレーラーレンタル、キャンピングカー / RV レンタル、食料品店、小売店+15%
ディスカバーグローバルタクシー / リムジン、飲食店 / レストラン、居酒屋 (酒類提供店)、ファーストフード店、美容院 / 理髪店、ヘルススパ / エステティックサロン+20%
グローバル宿泊施設、レンタカー+15%

  • 欧州経済領域 (EEA) の加盟店を除く
  • ** カード保有者が開始した取引の場合

    *** アメリカで発行されたカードであること

    **** デビットカード決済およびプリペイドカード決済の上限割合は 20%

    サポートが限定されるネットワーク (ベータ)

    強力な顧客認証 (SCA) 下でのオーバーキャプチャー

    強力な顧客認証 (SCA) 要件が適用される国にお客様とカード保有者が所在している場合は、オーバーキャプチャーの利用制限にご注意ください。

    • SCA 要件では、通常、最終的なキャプチャー額以上の金額を認証する必要があります。キャプチャーを行う際は、このページの他の項目でも説明されているようにオーバーキャプチャーを行うのではなく、最も高い見積もり額に対して認証とオーソリを行うようにしてください。その後、商品またはサービスの合計金額に応じて、認証された全額をキャプチャーできます。元のオーソリ額および認証額を超える金額をキャプチャーする場合は、元の支払いをキャンセルし、希望する金額で新しい支払いを作成する必要があります。ただし、この要件にはいくつかの例外があります (以下を参照)。
    • SCA は、オーバーキャプチャーが許可される取引免除項目をいくつか設けています。たとえば、顧客が決済フローに介在しない加盟店主導の取引 (MIT) は、免除される可能性があります。取引が MIT に分類されるケースについては、こちらの記事をご覧ください。

    オーバーキャプチャーと SCA 要件を総合的に理解するには、必要なドキュメントによく目を通しておく必要があります。詳しくは、SCA ガイドをご覧ください。

    新しい CheckoutSession を作成する際、custom_text フィールドを使用して決済ページに追加のテキストを表示することで、法令遵守要件を満たせます。

    法令遵守

    オーバーキャプチャーを行うにあたり、お客様は適用されるすべての法律、規制、ネットワーク規則を遵守する責任を負うものとします。この機能を使用するカードネットワークの規則に照らし、取引の内容が適用される規則に準拠していることを確認してください。規則はネットワークごとに異なります。たとえば、一部のカードネットワークは、オーソリ時に最終取引額が判明している取引でオーバーキャプチャーを利用することを認めていません。

    このページに記載されている情報のうち、これらの要件の遵守に関する情報は一般的なガイダンスであり、法律、税務、会計、その他の専門的なアドバイスではありません。自らの義務について不明な点がある場合は、専門家に相談することをお勧めします。

    Checkout セッションを作成する

    サーバー側のエンドポイントを呼び出す決済ボタンをウェブサイトに追加して Checkout セッションを作成します。

    checkout.html
    <html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>

    Checkout セッションには、顧客が支払いフォームにリダイレクトされたときに表示される内容がプログラム的に表されます。セッションは、以下のオプションを使用して設定することが可能です。

    • 請求項目
    • 利用通貨

    success_url には、支払い完了後に Checkout で顧客が戻されるウェブページの URL を指定します。顧客が決済プロセスを完了することなく終了した場合に、Checkout が顧客を戻すウェブページの cancel_url をオプションで指定することもできます。

    注

    デフォルトでは、Checkout セッションは作成後 24 時間で期限切れとなります。

    Checkout セッションを作成したら、レスポンスで返された URL に顧客をリダイレクトします。

    オーバーキャプチャー機能を有効にするには、request_overcapture を if_available に設定します。

    Ruby
    # This example sets up an endpoint using the Sinatra framework. require 'json' require 'sinatra' require 'stripe' # 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 =
    'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
    post '/create-checkout-session' do session = Stripe::Checkout::Session.create({ line_items: [{ price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, unit_amount: 2000, }, quantity: 1, }], payment_method_options: { card: { request_overcapture: 'if_available', }, }, mode: 'payment', # These placeholder URLs will be replaced in a following step. success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', }) redirect session.url, 303 end

    顧客が決済を完了したら、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 (キャプチャー) エンドポイントを使用し、amount_to_capture (maximum_amount_capturable 上限) を指定します。

    maximum_amount_capturable を超える金額をキャプチャーする必要がある場合は、増分オーソリを実行してオーソリ額を増額します (サポートされている場合)。

    Command Line
    cURL
    curl https://api.stripe.com/v1/payment_intents/pi_xxx/capture \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount_to_capture=1200 \ -d "expand[]"=latest_charge

    オーバーキャプチャーが成功すると、PaymentIntent キャプチャーのレスポンスに含まれる amount_capturable と amount_received フィールドが適宜更新されます。返されるキャプチャー済みの PaymentIntent では、この決済で移動する合計金額を反映する形で amount が更新されます。関連付けられている Charge の 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 テストカードを、セキュリティコードと将来の有効期限とともに使用して、テスト時にオーバーキャプチャーをリクエストして実行します。テスト時に、所定のネットワークの決済でオーバーキャプチャーが可能であれば、本番環境の決済でも利用できます。

    カードブランド番号決済手段
    Visapm_card_visa
    Mastercardpm_card_mastercard
    アメリカン・エキスプレスpm_card_amex
    ディスカバーpm_card_discover
    このページはお役に立ちましたか。
    はいいいえ
    お困りのことがございましたら 、サポートにお問い合わせください。
    早期アクセスプログラムにご参加ください。
    変更ログをご覧ください。
    ご不明な点がございましたら、お問い合わせください。
    LLM ですか?llms.txt を読んでください。
    Powered by Markdoc