部分的オーソリ
カード取引の一部支払いを許可する方法をご紹介します。
利用可能な残高が全額に対応するには不足している場合に、カード取引のために最初にリクエストされた金額の一部に対する承認をリクエストするには、一部オーソリを使用します。これにより、顧客はカードの利用可能な残高 (デビットカードなど) を使い、別の決済手段を使用して残りの残高を支払うことができます。
はじめに
まず、当初リクエストされた金額のうち、一部オーソリでカバーされない部分の処理方法を決定します。別の支払い形式用に別の PaymentIntent を作成することも、PaymentIntent 全体をキャンセルすることも、または一部オーソリされた金額までに限定してキャプチャーすることもできます。取引をどのように処理するか、および潜在的な影響について、顧客に明確に伝えてください。
法令遵守
一部オーソリを使用する際は、適用されるすべての法律、規制、ネットワークの規則を遵守する責任を貴社が負うものとします。この機能を使用するカードネットワークの規則を確認して、売上の内容が適用されるすべての規則に準拠していることを確認してください。規則はネットワークごとに異なります。たとえば、2024 年 5 月以降、アメリカン・エキスプレスでは、この機能の使用をデビットとプリペイドのみに制限し、継続取引や越境取引での使用を許可していませんが、Visa では、この機能をカードタイプを問わず使用するように要求しています。このページに記載されている情報のうち、これらの要件の遵守に関する情報は一般的なガイダンスであり、法律、税務、会計、その他の専門的なアドバイスではありません。ご自身の義務について不明な点がある場合は、専門家に相談することをお勧めします。
提供状況
IC+ の特長
一部オーソリは、IC+ の料金体系でご利用いただけます。この機能を有効にするには、営業担当者またはサポートにお問い合わせください。
一部オーソリには以下の制限があります。
- オンラインカード決済には、一部オーソリのみを使用できます。
- Visa、Mastercard、ディスカバー、Amex のみが一部オーソリに対応しています。
- カード発行会社とカードタイプによって、対応可能かどうかが決まります。
- ネットワークの制限により、取引金額が一部オーソリされている場合、オーソリした金額を超える金額をオーバーキャプチャーを使用してキャプチャーすることはできません。
- transfer_amount を使用して Connect アカウントに代わって支払いを処理する場合、
transfer_
が一部オーソリされた金額を上回ると、Stripe は一部オーソリされた金額に値を制限します。amount - Stripe は、部分的にオーソリされた支払いに対して最小請求金額 を適用し、不足している PaymentIntent は拒否します。
手動キャプチャーを使って PaymentIntents を作成して確定する
特定の PaymentIntents に対して一部オーソリを有効にするには、request_partial_authorization パラメーターに if_
を設定します。
一部オーソリのステータスを確認する
PaymentIntent 確定レスポンスの latest_charge で、payment_method_details フィールドを確認して、ネットワークが支払いに一部オーソリを適用したかどうかを判断します。
- partial_authorization.status:
partially_
、authorized fully_
、authorized declined
、not_
のいずれかのオーソリステータスを表示します。requested - amount_requested:最初に指定したリクエスト金額を確認します。
- amount_authorized:オーソリされた金額を特定します。
以下のレスポンスの例は、最初にリクエストされた 100 USD よりも少ない 70 USD で、取引が一部オーソリされていることを示しています。
{ "id": "pi_foo", "amount": 7000, "amount_capturable": 7000, "amount_received": 0, "capture_method": "manual", ... // if latest_charge is expanded "latest_charge": { "id": "ch_foo", "object": "charge", "amount": 7000, "captured": false, "payment_method_details": { "card": { "amount_authorized": 7000, "amount_requested": 10000, "partial_authorization": { "status": "partially_authorized", } } } }, ... "status": "requires_capture" }
カード発行会社がオーソリを拒否すると、このレスポンスで card_declined エラーが返されます。
一部オーソリされた PaymentIntent をキャプチャーする
確定レスポンスで返される amount (または amount_capturable) を上限として、オーソリされた PaymentIntent をキャプチャーできます。
キャプチャーが成功すると、フィールドが更新された PaymentIntent (支払いインテント) オブジェクトが返されます。
{ "id": "pi_foo", "amount": 7000, "amount_capturable": 0, "amount_received": 7000, "capture_method": "manual", "latest_charge": "ch_foo", ... "status": "succeeded", }
オプション自動キャプチャーを使用して PaymentIntent を確定してキャプチャーする
一部オーソリされた金額を評価し、キャプチャーを続行するかどうかを決定できるため、Stripe では手動キャプチャーで一部オーソリを使用することをお勧めしています。ただし、自動キャプチャーで一部オーソリを使用することもできます。このオプションを使用する場合は、十分な金額をキャプチャーしない可能性があるため、注意して進めてください。
以下の設定を行うと、自動キャプチャー機能を使用する一部オーソリを有効にできます。
- request_partial_authorization を
if_
にするavailable - capture method を
automatic
(または空白のまま) にする
自動キャプチャーフローでは、取引が一部オーソリされている場合でも自動的にキャプチャーされます。次のレスポンスの例は、リクエストされた 100 USD の全額ではなく、70 USD で取引が一部オーソリされ、キャプチャーされていることを示しています。
{ "id": "pi_foo", "amount": 7000, "amount_capturable": 0, "amount_received": 7000, "capture_method": "automatic", ... // if latest_charge is expanded "latest_charge": { "id": "ch_foo", "object": "charge", "amount": 7000, "amount_captured": 7000, "captured": true, "payment_method_details": { "card": { "amount_authorized": 7000, "amount_requested": 10000, "partial_authorization": { "status": "partially_authorized", } } } }, ... "status": "succeeded" }
オプション増分の一部オーソリ
PaymentIntent 増分オーソリコールで一部オーソリをリクエストすると、利用可能な残高が全額に対応するのに十分ではない場合に、リクエストされた増分額の一部について承認を得ることができます。
PaymentIntent を作成および確定する
request_incremental_authorization パラメーターを使用して、増分オーソリを有効にした PaymentIntent を作成して確定します。そうすることで、PaymentIntent の増分オーソリ機能が有効になります。詳細は増分オーソリをご覧ください。
次のレスポンスの例は、取引が 100 USD で全額オーソリされることを示しています。
{ "id": "pi_foo", "amount": 10000, "amount_capturable": 10000, "amount_received": 0, "capture_method": "manual", ... // if latest_charge is expanded "latest_charge": { "id": "ch_foo", "object": "charge", "amount": 10000, "captured": false, "payment_method_details": { "card": { "amount_authorized": 10000, "amount_requested": 10000, "partial_authorization": { "status": "not_requested", }, "incremental_authorization": { "status": "available" } } } }, ... "status": "requires_capture" }
増分の一部オーソリを有効にする
増分の一部オーソリを有効にするには、request_partial_authorization を if_
に設定します。
デフォルトでは、Stripe は PaymentIntent による増分の確定時に渡された request_partial_authorization のオプトインパラメーターを保持します。一部オーソリを選択した PaymentIntent で増分に対する一部オーソリを無効にするには、payment_
を never
に設定します。
この例では、PaymentIntent の金額を 100 USD から 150 USD に増やすようにリクエストしていますが、部分的に 135 USD がオーソリされています。
curl https://api.stripe.com/v1/payment_intents/pi_foo/increment_authorization \ -u
: \ -d "amount"=15000 \ -d "payment_method_options[card][request_partial_authorization]"="if_available" \ -d "expand[]"="latest_charge"sk_test_BQokikJOvBiI2HlWgH4olfQ2
以下のレスポンスの例は、一部オーソリされた PaymentIntent (支払いインテント) オブジェクトに関連付けられた、最新の Charge (支払い) オブジェクトを示しています。
{ "id": "pi_foo", "amount": 13500, "amount_capturable": 13500, "amount_received": 0, "capture_method": "manual", ... // if latest_charge is expanded "latest_charge": { "id": "ch_foo", "object": "charge", "amount": 13500, "captured": false, "payment_method_details": { "card": { "amount_authorized": 13500, "amount_requested": 15000, "partial_authorization": { "status": "partially_authorized", } } } }, ... "status": "requires_capture" }
構築したシステムをテストする
テスト時に一部オーソリをトリガーするには、一部オーソリ用の Stripe テストカードを、任意のセキュリティコード、郵便番号、および将来の有効期限とともに使用します。テストカードで一部オーソリをトリガーするには、必ず request_partial_authorization を if_
に設定してください。
テストカード番号 | 決済手段 | 説明 |
---|---|---|
pm_ | このカードは、一部オーソリがリクエストされているため、確定リクエストで指定された金額の 70% を最も近い単位 (1 セント単位など) に切り捨ててオーソリします。それ以外の場合は、残高不足のエラーコードで拒否されます。 | |
pm_ | このカードは、初回のオーソリを全額オーソリします。その後の増分では、一部オーソリがリクエストされているため、増分リクエストで指定された金額の 70% を最も近い単位 (1 セント単位など) に切り捨ててオーソリします。それ以外の場合は、残高不足になります。 |