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

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

オンラインカード決済に対して、保留期間を延長する

オーソリの延長を使用して、オーソリ後、最長 30 日後にオンラインのカード支払いをキャプチャする方法をご紹介します。

延長されたオーソリではオーソリの有効期間が長くなるため、標準のオーソリ有効期間よりも長く顧客の資金を保持できます。ほとんどのカードネットワークの場合、デフォルトのオーソリ有効期間は、オンライン決済の場合は 7 日間、対面の Terminal 決済の場合は 2 日間ですが、カードネットワークによっては、有効期間を最大 30 日間まで延長できます。オーソリの有効期間について詳細は、支払い方法の売上を保留をご覧ください。

Availability

When you use extended authorizations, there are no regional restrictions. However, be aware of the following limitations:

  • They’re only available with Visa, Mastercard, American Express, and Discover.
  • Certain card brands have merchant category restrictions. Refer to the network availability table below.
  • This page describes extended authorizations for online card payments. For in-person card payments using extended authorizations, refer to the Terminal documentation.
  • mode is set to payment and capture_method is set to manual on the CheckoutSession.

IC+ Feature

We offer extended authorizations to users on IC+ pricing. If you’re on blended Stripe pricing and want access to this feature, contact us at support.stripe.com.

Availability by card network and merchant category

Every card network has different rules that determine which payments have extended authorizations available, and how long they’re valid. The following table shows the validity windows and transaction types that extended authorization is available for using Visa, Mastercard, American Express, and Discover. However, we recommend that you rely on the capture_before field to confirm the validity window for any given payment because these rules can change without prior notice.

カードブランド加盟店カテゴリーオーソリの有効期間を延長

Visa

ホテル、宿泊施設、車のレンタル、クルーズ会社

All other merchant categories*

30 日間**

Mastercard (Maestro および Cirrus カードを除く)すべての加盟店カテゴリー30 日間
アメリカン・エキスプレス宿泊施設および車のレンタル30 days***
ディスカバー航空会社、バスチャーター / ツアー、車のレンタル、クルーズ会社、地方 / 郊外の通勤・通学用交通機関、旅客輸送 (フェリー、ホテル、宿泊施設、鉄道を含む)30 日間

  • その他の加盟店カテゴリーについては、Stripe は取引ごとに 0.08% の追加手数料を請求します。拡張期間の延長は、顧客により開始される取引にのみ適用され、日本の加盟店との取引には適用されません。** Visa の正確なオーソリの拡張期間は、決済処理を見越して 29 日と 18 時間です。*** 有効期間は 30 日間に延長されますが、利用者の宿泊やレンタルの終わりまでに、オーソリ済みの売上をキャプチャーする必要があります。
  • Networks with limited support (beta)

    Recent changes to availability

    Best Practices

    Customers see their funds held longer when you use extended authorizations. Use clear statement descriptors to avoid increased disputes from unrecognized payments.

    You can use the custom_text field when creating a new CheckoutSession to display additional text on the checkout page to help meet compliance requirements.

    Compliance

    You’re responsible for your compliance with all applicable laws, regulations, and network rules when using extended authorization. Consult the network specifications for the card networks that you plan to accept using this feature with to make sure your sales are compliant with the applicable rules, which vary by network. For instance, for many networks extended validity windows are only for cases where you don’t know the final amount that you’ll capture at the time of authorization.

    The information provided on this page relating to your compliance with these requirements is for your general guidance, and is not legal, tax, accounting, or other professional advice. Consult with a professional if you’re unsure about your obligations.

    CheckoutSession を作成する

    From your server, create a Checkout Session and set the ui_mode to embedded. You can configure the Checkout Session with line items to include, and options such as currency.

    To return customers to a custom page that you host on your website, specify that page’s URL in the return_url parameter. Include the {CHECKOUT_SESSION_ID} template variable in the URL to retrieve the session’s status on the return page. Checkout automatically substitutes the variable with the Checkout Session ID before redirecting.

    Read more about configuring the return page and other options for customizing redirect behavior.

    After you create the Checkout Session, use the client_secret returned in the response to mount Checkout.

    To enable the extended authorization feature, set request_extended_authorization to if_available.

    Ruby
    # This example sets up an endpoint using the Sinatra framework. # To learn more about Sinatra, watch this video: https://youtu.be/8aA9Enb8NVc. 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, }], mode: 'payment', ui_mode: 'embedded', payment_method_options: { card: { request_extended_authorization: 'if_available', }, }, return_url: 'https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}' }) {clientSecret: session.client_secret}.to_json end

    Rely on the capture_before field to confirm the validity window for a given payment. The validity window won’t change after the CheckoutSession is complete. To determine if the authorization is extended after the CheckoutSession is complete, look at the extended_authorization.status field on the associated Charge.

    { "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, "capture_before": 1696524701, "extended_authorization": { "status": "enabled", // or "disabled" } } } ... } ... }

    Checkout をマウントする

    Checkout は Stripe.js の一部として利用できます。HTML ファイルのヘッダーに Stripe.js スクリプトを追加してページに含めます。次に、マウンティングに使用する空の DOM ノード (コンテナー) を作成します。

    index.html
    <head> <script src="https://js.stripe.com/basil/stripe.js"></script> </head> <body> <div id="checkout"> <!-- Checkout will insert the payment form here --> </div> </body>

    公開可能な API キーで Stripe.js を初期化します。

    Checkout セッションの作成、および client secret の取得をサーバーにリクエストする、非同期の fetchClientSecret 関数を作成します。 Checkout インスタンスを作成する際に、この関数を options に渡します。

    index.js
    // Initialize Stripe.js const stripe = Stripe(
    'pk_test_TYooMQauvdEDq54NiTphI7jx'
    ); initialize(); // Fetch Checkout Session and retrieve the client secret async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Initialize Checkout const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, }); // Mount Checkout checkout.mount('#checkout'); }

    Checkout は、HTTPS 接続を介して支払い情報をStripeに安全に送信する iframe でレンダリングされます。

    よくある間違い

    一部の支払い方法では、別のページにリダイレクトして支払いを確定する必要があるため、Checkout は別の iframe 内に配置しないでください。

    デザインをカスタマイズする

    アカウントのブランディング設定で、背景色、ボタンの色、枠線の角丸半径、フォントを設定して、サイトのデザインに合わせて Checkout をカスタマイズします。

    デフォルトでは、Checkout は外側に余白やマージンが追加されずに表示されます。必要なマージンを適用するには (四方すべてに 16px など)、目的の余白を適用するコンテナー要素 (div など) を使用することをお勧めします。

    戻り先ページを表示する

    After your customer attempts payment, Stripe redirects them to a return page that you host on your site. When you created the Checkout Session, you specified the URL of the return page in the return_url parameter. Read more about other options for customizing redirect behavior.

    When rendering your return page, retrieve the Checkout Session status using the Checkout Session ID in the URL. Handle the result according to the session status as follows:

    • complete: The payment succeeded. Use the information from the Checkout Session to render a success page.
    • open: The payment failed or was canceled. Remount Checkout so that your customer can try again.
    Ruby
    get '/session-status' do session = Stripe::Checkout::Session.retrieve(params[:session_id]) {status: session.status, customer_email: session.customer_details.email}.to_json end
    client.js
    const session = await fetch(`/session_status?session_id=${session_id}`) if (session.status == 'open') { // Remount embedded Checkout } else if (session.status == 'complete') { // Show success page // Optionally use session.payment_status or session.customer_email // to customize the success page }

    Redirect-based payment methods

    During payment, some payment methods redirect the customer to an intermediate page, such as a bank authorization page. When they complete that page, Stripe redirects them to your return page.

    Learn more about redirect-based payment methods and redirect behavior.

    実装内容をテストする

    Use the Stripe test cards below with any CVC and future expiration date to request extended authorizations while testing. If extended authorizations are available on payments for a given network while testing, they’re also available for live payments.

    Card brandNumberPayment method
    Visapm_card_visa
    Mastercardpm_card_mastercard
    Amexpm_card_amex
    Discoverpm_card_discover

    参照情報

    • 支払い方法を保留する
    このページはお役に立ちましたか。
    はいいいえ
    お困りのことがございましたら 、サポートにお問い合わせください。
    早期アクセスプログラムにご参加ください。
    変更ログをご覧ください。
    ご不明な点がございましたら、お問い合わせください。
    LLM ですか?llms.txt を読んでください。
    Powered by Markdoc