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

注

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

オーソリを増額する

キャプチャーする前に、確定した PaymentIntent で既存のオーソリを増額します。

ページをコピー

Incremental authorization allows you to increase the authorized amount on a confirmed PaymentIntent before you capture it. Before capture, each incremental authorization appears on the credit card statement as an additional pending entry (for example, a 10 USD authorization incremented to 15 USD appears as separate 10 USD and 5 USD pending entries). After capture, the pending authorizations are removed, and the total captured amount appears as one final entry.

Availability

When using incremental authorizations, be aware of the following restrictions:

  • It’s only available with Visa, Mastercard, or Discover.
  • Certain card brands have merchant category restrictions (see below).
  • mode is set to payment and capture_method is set to manual on the CheckoutSession.

To learn more about incremental authorization and in-person payments made using Terminal, see Incremental Authorizations.

IC+ feature

We offer incremental authorizations to users on IC+ pricing. If you’re on standard Stripe pricing and want access to this feature, you can learn more at support.stripe.com.

Availability by card network and merchant category

増分オーソリは、下記の基準を満たす支払いで使用できます。ユーザーカテゴリーは、ダッシュボードで確認できます。

以下の条件を満たさない支払いで増分オーソリを実行しようとすると、エラーが発生します。

カードブランド加盟店の所在国決済タイプ加盟店カテゴリー
Visaグローバルすべてのカード支払いタイプすべてのユーザーカテゴリー
Mastercardグローバル*すべてのカード支払いタイプすべてのユーザーカテゴリー
ディスカバーグローバルすべてのカード支払いタイプレンタカー、ホテル、地方 / 郊外の通勤・通学用交通機関 / 旅客輸送 (フェリーを含む)、旅客鉄道、貸切バス / バスツアー、汽船 / クルーズ客船、ボートレンタル / リース、食料品店とスーパーマーケット、電気車両充電、飲食店 / レストラン、酒場 (アルコール飲料)、ホテル / モーテル / リゾート、トレーラーパーク / キャンプ場、機器 / 工具 / かまど / 家電のレンタルおよびリース、レンタカー代理店、トラック / ユーティリティートレーラーのレンタル、トレーラーハウス / RV 車のレンタル、駐車場 / 駐車メーター / ガレージ、遊園地 / サーカス / 占い、その他レクリエーションサービス (上記に該当しないもの)
ディスカバーグローバル非対面カード支払いタクシーとリムジン

  • MX ユーザーと、JP ユーザーの JPY 取引を除く
  • 対応が限定されるネットワーク (ベータ)

    増分オーソリと強力な顧客認証 (SCA)

    貴社とカード保有者が SCA 要件のある国 に所在している場合、増分オーソリを使用する際に留意すべき重要な考慮事項があります。

    初回オーソリ時に増分オーソリ機能をリクエストすると、Stripe はその決済方法を将来オフセッションで使用できるように自動的に設定します。そのため、初回オーソリには 3D セキュア (3DS) が必要ですが、この支払いに対するその後の増分オーソリは加盟店が開始したものと見なされ、追加の SCA が免除される可能性があります。支払い情報は増分オーソリによって将来オフセッションで使用するために保存されることを顧客に明確に示してください。

    一部の 3DS 取引では、不正なチャージバック (盗難または偽造されたカード) に対する責任は、貴社からカード発行会社に移ります。加盟店により開始される取引を送信する場合は、ライアビリティシフトのメリットはありません。

    Compliance

    顧客の支払い情報を保存する際には、適用されるすべての法律、規制、ネットワークルールを遵守する責任を貴社が負うものとします。たとえば、顧客が貴社のウェブサイトやアプリをあまり利用していないときに請求する場合など、将来使用するために決済手段を保存するケースがあります。ウェブサイトやアプリに、決済手段の情報をどのように保存するのか明記した規約を追加し、顧客がオプトインできるようにします。

    顧客がオフラインのときに請求する場合は、規約に次の内容が含まれていることを確認してください。

    • 特定の取引について、貴社が顧客の代理として単独の支払いまたは一連の支払いを開始することを許可する、顧客からの同意
    • 想定される支払いのタイミングと頻度 (たとえば、スケジュール指定の分割払い、サブスクリプションの支払い、または不定期のトップアップに対する支払いなど)
    • 支払い金額の決定方法
    • サブスクリプションサービス用の決済手段の場合は、キャンセルポリシー

    これらの条件に対して顧客から得た書面による同意の記録を必ず保管してください。

    Best practices

    When using incremental authorization, proactively notify your end customer with the details of any authorizations for estimated amounts, which might be followed by incremental authorizations that increase those amounts. Here are some best practices for doing so:

    • Disclose that an authorization is for an estimated amount and that subsequent authorization requests might follow at the time of checkout, before purchase.
    • Base estimated amounts on a genuine estimate of what the total transaction amount will be.

    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 incremental authorization. Consult the network rules for the card networks that you plan to use this feature with to make sure your sales comply with applicable rules, which vary by network. For example, most card networks restrict how you can calculate estimated amounts included in the initial authorization, and prohibit the use of incremental authorizations for transactions where the transaction amount should be known at the time of authorization (for example, charges for recurring subscriptions).

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

    CheckoutSession を作成する

    Add a checkout button to your website that calls a server-side endpoint to create a Checkout Session.

    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>

    A Checkout Session is the programmatic representation of what your customer sees when they’re redirected to the payment form. You can configure it with options such as:

    • Line items to charge
    • Currencies to use

    You must populate success_url with the URL value of a page on your website that Checkout returns your customer to after they complete the payment. You can optionally also provide a cancel_url value of a page on your website that Checkout returns your customer to if they terminate the payment process before completion.

    注

    Checkout Sessions expire 24 hours after creation by default.

    After creating a Checkout Session, redirect your customer to the URL returned in the response.

    Lastly, set request_incremental_authorization as if_available to enable the incremental authorization feature.

    Ruby
    # This example sets up an endpoint using the Sinatra framework. # Watch this video to get started: 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, }], payment_method_options: { card: { request_incremental_authorization: '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

    After the customer has completed checkout, the payment_method_details field on the latest_charge in the PaymentIntent contains available or unavailable based on the customer’s payment method and the availability criteria mentioned above, which determines whether a PaymentIntent is eligible for incremental authorization or not. (If you didn’t request incremental authorization when creating the CheckoutSession, it will be unavailable.)

    { "id": "pi_ANipwO3zNfjeWODtRPIg", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, "amount_received": 0, ... // if latest_charge is expanded { "latest_charge": { "amount": 1000, "payment_method_details": { "card": { "incremental_authorization": { "status": "available" // or "unavailable" } } } ... } } }

    Checkout をマウントする

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

    index.html
    <head> <script src="https://js.stripe.com/v3/"></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.

    増分オーソリを実行する

    To increase the authorized amount on a PaymentIntent, use the increment_authorization endpoint and provide the updated total authorization amount to increment to, which must be greater than the original authorized amount. This attempts to authorize for a higher amount on your customer’s card. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount.

    You have a maximum of 10 incremental authorization attempts per PaymentIntent.

    Command Line
    curl https://api.stripe.com/v1/payment_intents/{{PAYMENT_INTENT_ID}}/increment_authorization \ -u
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :
    \ -d "amount"=1500

    If the incremental authorization succeeds, it returns the PaymentIntent object with the updated amount. If the authorization fails, it returns a card_declined error instead. The PaymentIntent object remains capturable for the previously authorized amount. Any potential updates to other PaymentIntent fields (for example, application_fee_amount, transfer_data, metadata, description, and statement_descriptor) aren’t saved if the incremental authorization fails.

    Incremental authorization has a maximum cap of either 500 USD (or local equivalent) over, or 500% over the previously authorized amount (whichever is higher) for each individual increment.

    PaymentIntent をキャプチャーする

    Whether you increase the authorized amount on a PaymentIntent with an incremental authorization or not, you need to capture the funds before the initial authorization expires–incremental authorizations don’t extend the validity period. To capture the authorized amount on a PaymentIntent with prior incremental authorizations, use the capture endpoint as usual.

    Command Line
    curl https://api.stripe.com/v1/payment_intents/{{PAYMENT_INTENT_ID}}/capture \ -u
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :

    If the incremental authorization succeeds, it returns the captured PaymentIntent object with the updated amount. If the authorization fails, it returns a card_declined error instead. The PaymentIntent isn’t captured, but it remains capturable for the previously authorized amount. Any potential updates to other PaymentIntent fields (for example, application_fee_amount, transfer_data, metadata, description and statement_descriptor) aren’t saved if the incremental authorization fails.

    実装内容をテストする

    Use the incremental authorization Stripe test card with any CVC, postal code, and future expiration to trigger incremental authorizations while testing:

    1. First create the CheckoutSession using the test card in the create a CheckoutSession step above.
    1. Perform the incremental authorization with the parameters specified in the perform an incremental authorization step above, and use the test card to trigger an incremental authorization.
    NumberPayment Method説明
    pm_card_debit_incrementalAuthAuthorizedThis increases the authorization amount to the amount provided in the request.
    このページはお役に立ちましたか。
    はいいいえ
    お困りのことがございましたら 、サポートにお問い合わせください。
    早期アクセスプログラムにご参加ください。
    変更ログをご覧ください。
    ご不明な点がございましたら、お問い合わせください。
    LLM ですか?llms.txt を読んでください。
    Powered by Markdoc