# 追加料金を回収 カード処理費用を追加料金の形で相殺します。 追加料金の請求により、カード決済を受け付ける費用の一部を相殺することができます。決済手数料を決定して連結アカウントから回収するプラットフォームの場合、追加料金の請求により、連結アカウントはこれらの手数料を相殺することができます。 ## コンプライアンス カード決済に追加料金を課す場合は、適用されるすべての法律、規制、およびカードネットワークのルールに準拠する必要があります。追加料金の要件は地域やカードの種類によって異なり、以下に対する義務が含まれる場合があります: - 許容される追加料金の金額を正確に計算して、これらの金額が適用法、カードネットワーク、または受け入れコスト (お客様が[決定](https://support.stripe.com/questions/exporting-payment-data)する必要あり) によって課される制限を超えないようにします。 - 追加料金を請求することをアクワイアラーやカードネットワークに通知する。 - カードネットワークやカード商品全体で一貫した追加料金を請求する。 - 購入前に、各取引に適用される追加料金の金額と合計費用をカード会員に明確に開示し、追加料金を取引領収書に別途反映します。 - カード会員に追加料金の金額を開示した後に、取引をキャンセルするか、別の決済手段を選択する機能を提供します。 追加料金機能が利用可能であっても、サーチャージの実施が許可されていること、そして課す追加料金が適用される法律、規制、またはカードネットワークによって定められた制限を超えないことを確認する必要があります。国や地域ごとの要件や制限(州、県、地域ごとの要件や制限を含む)を理解し、遵守する責任はあなたにあります。 このページに記載の情報のうち、これらの要件の法令遵守に関する情報は一般的なガイダンスであり、法務、課税、会計、その他の専門的なアドバイスではありません。ご自身の義務について不明な点がある場合は、専門家に相談することをお勧めします。 > 適用される追加料金の請求要件を遵守しなかったことに関連して発生する罰金、罰則、または損失については、お客様が全責任を負うものとします。 ## ご利用可否 追加料金は、次の国と決済手段で利用できます: | 国 | 許可されている決済手段 | 追加料金の最大金額 | | -------- | ----------- | --------- | | アメリカ合衆国 | クレジットカードのみ | 3% | | カナダ | クレジットカードのみ | 2.4% | | オーストラリア | すべてのカード | 4% | | ニュージーランド | すべてのカード | 4% | ## Before you begin - インテグレーションでは API バージョン [2026-03-25.preview](https://docs.stripe.com/changelog.md?channel=preview#2026-03-25.preview) を使用する必要があります。プレビュー機能にアクセスするには、[公開プレビュー SDK](https://docs.stripe.com/sdks/versioning.md?#public-preview-release-channel) を使用するか、リクエストヘッダーでその [Stripe バージョン](https://docs.stripe.com/api/versioning.md) を指定する必要があります。 - サーチャージのプライベートプレビューをすでにご利用の場合は、[API の変更点](https://docs.stripe.com/payments/cards/surcharge.md#migrate-to-public-preview)をご確認ください。 ## 追加料金の請求の利用資格を判断する `surcharge.amount` または `surcharge.enforce_validation` のいずれかを送信し、[PaymentIntent](https://docs.stripe.com/api/payment_intents/create.md?api-version=preview#create_payment_intent-amount_details-surcharge) に決済手段を関連付けると、レスポンスには追加料金を利用できるかどうかを判断するための次の属性が含まれます: - `surcharge.status` は、国と決済手段の資金供給タイプに基づいて、追加料金請求が利用可能かどうかを示します。 - これにより、使用 `可能` または使用 `不可` が返されます。 - `surcharge.maximum_amount` は、渡すことができる最大追加料金の金額を示します。ただし、この値は技術的な制限であり、Stripe が推奨する金額ではありません。管轄区域の法律やカードネットワークの要件によって課される追加料金の上限は、`surcharge.maximum_amount` と異なる場合があります。課される追加料金がそのような上限を超えないようにすることは、お客様の責任です。 - デフォルトでは、Stripe は、特定の `PaymentIntent` に適用された追加料金を、追加料金の最大金額に対して検証します。追加料金の最大金額を超えて追加料金を請求しようとすると、エラーが発生します。 ### 追加料金の金額検証を無効にする - `enforce_validation: disabled` を渡すことで、追加料金の最大金額の検証を無効にできます。 `enforce_validation: disabled` を設定して検証を無効にした場合、Stripe は `maximum_amount` フィールドを返さず、追加料金の金額に関するデフォルトの技術的制限は適用されません。 - PaymentIntent を作成、更新、または確定した時点で、追加料金の最大検証を無効にできます。追加料金の最大検証を有効または無効にすると、`surcharge.enforce_validation` を変更できなくなります。 - `enforce_validation: disabled` を渡しても、カード資金調達タイプの制限やその他の地域的な制限など、可用性に関するその他の制限は無効になりません。追加料金の最大検証を無効にするかどうかにかかわらず、課される追加料金がすべての適用法とカードネットワークの要件に準拠していることを確認する必要があります。 - `enforce_validation: enabled` を渡して、追加料金の最大金額の技術検証を明示的に有効にすることもできます。有効にすると、`surcharge.enforce_validation` を変更できなくなります。 - デフォルトでは、Stripe は最大追加料金額の技術的制限を適用します。`surcharge.enforce_validation` のどのフィールドも渡さない場合、レスポンスにはこの動作を示す `enforce_validation: automatic` が含まれます。 #### シナリオ 1: 検証を有効にして `maximum_amount` を使用する `maximum_amount` を受け取るための検証を有効にして `PaymentIntent` を作成します: ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1000 \ -d currency=usd \ -d "payment_method={{PAYMENTMETHOD_ID}}" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=enabled" ``` ```json { "id": "pi_123", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, "amount_details": { "surcharge": { "enforce_validation": "enabled", "maximum_amount": 24, "status": "available" } }, "status": "requires_confirmation" } ``` #### シナリオ 2: 検証を無効にする ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1000 \ -d currency=usd \ -d "payment_method={{PAYMENTMETHOD_ID}}" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=disabled" ``` 検証を無効にしても、Stripe は `maximum_amount` を返しません。 ```json { "id": "pi_123", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, "amount_details": { "surcharge": { "enforce_validation": "disabled", "status": "available" } }, "status": "requires_confirmation" } ``` ## 追加料金を計算する 各取引について、法令、規制、カードネットワーク要件に準拠した追加手数料を計算する必要があります。なお、決済処理コストはカードブランド、資金の種類、利用可能なネットワークによって異なります。 Stripe が追加料金の最大金額を返した場合、エラーを避けるために、計算された追加料金を、選択した決済手段の PaymentIntent で返された `surcharge.maximum_amount` と常に比較してください。追加料金に関するカードネットワークと管轄区域のルールは、時間の経過とともに変更される可能性があります。Stripe は追加料金の最大金額を変更する場合があります。お客様は `surcharge.maximum_amount` を消費する責任を負います。`surcharge.maximum_amount` を超える追加料金を適用すると、検証エラーが発生する可能性があります。 ## 追加料金を含む支払いを確定する 追加料金を計算して顧客に開示したら、PaymentIntent を確定またはキャプチャーする際に追加料金を適用できます。 > #### 追加料金を内税合計金額を指定 > > Stripe は、最上位の`金額`フィールドの金額のみを請求し、追加の値で金額を増額しません。そのため、`金額`フィールドに追加料金内税の合計金額を指定する必要があります。たとえば、0.20 ドルの追加料金が設定された 10.00 ドルの小計の場合、最上位の`金額`フィールドに 10.20 ドルを渡します。0.20 ドルの追加料金の金額は、`amount_details[surcharge][amount]` で個別に指定します。 ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/confirm \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount_to_confirm=1020 \ -d "amount_details[surcharge][enforce_validation]=enabled" \ -d "amount_details[surcharge][amount]=20" ``` ```json { "id": "pi_123", "object": "payment_intent", "amount": 1020, "amount_capturable": 1020, "amount_details": { "surcharge": { "enforce_validation": "enabled", "amount": 20, "maximum_amount": 24, "status": "available" } }, "status": "requires_capture" } ``` ## PaymentIntent の作成時にサーチャージを適用する PaymentIntent の作成時には、サーチャージ金額を含めたトップレベルの `amount` フィールドを指定します: ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1020 \ -d currency=usd \ -d "payment_method={{PAYMENTMETHOD_ID}}" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=enabled" \ -d "amount_details[surcharge][amount]=20" ``` ## キャプチャーする際に追加料金を適用 キャプチャー時に追加料金を適用することもできます。この動作はさまざまなシナリオに適用できます: - **確定後の追加料金の調整**: 確定後に追加料金の金額を変更する必要がある場合は、減額のみが可能です。キャプチャーする際に追加料金の金額を増やすことはできません。 - **マルチキャプチャーのシナリオ**: 1 つの PaymentIntent で複数のキャプチャーを実行する場合、キャプチャーする個人ごとに追加料金の金額を指定できます。マルチキャプチャー中に渡される各追加料金の合計は、確定時に渡される追加料金の金額を超えることはできません。 ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/capture \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount_to_capture=1020 \ -d "amount_details[surcharge][enforce_validation]=enabled" \ -d "amount_details[surcharge][amount]=20" ``` ## 返金 返金する時に顧客に追加料金を返金するためのロジックを実装する必要があります。カードワークの規則や特定の法律および規制では、全額返金するの場合は追加料金の全額を返金し、一部返金するの場合は比例配分された追加料金を返金することが義務付けられています。たとえば、顧客が合計注文 100.00 ドルから 60.00 ドルの項目を返品し、1.50 ドルの追加料金を適用したとします。比例配分された追加料金を返金するするには、60.90 ドル (60.00 ドルに 1.50 ドルの追加料金の 60/100 を加算) を返金するする必要があります。 ## 領収書 Stripe の構築済み領収書には追加料金が自動的に表示されます。カスタム領収書を作成する場合は、適用される追加料金の金額を別途表示します。たとえば、合計 10.20 ドルの購入で 0.20 ドルの追加料金を適用した場合、領収書には 10.00 と 0.20 を個別の項目として表示する必要があります。PaymentIntent の `amount_details.surcharge.amount` を調べて、適用される追加料金を確認します。 ## レポート `amount_details_surcharge_amount` フィールドは、Sigma `payment_intents` テーブルで使用できます。このフィールドは、カードネットワークに送信する取引に適用される追加料金の金額を表します。 ## 機能の相互運用性 - [決済ラインアイテム](https://docs.stripe.com/payments/payment-line-items/flexible-payment-scenarios.md#add-a-surcharge) で追加料金請求を使用できます。 - 追加料金は [マルチキャプチャー](https://docs.stripe.com/payments/multicapture.md) で使用でき、キャプチャーするごとに異なる追加料金の金額を指定できます。 - 確定時に渡された金額を超える追加料金をキャプチャーすることはできません。 - マルチキャプチャー中に渡された各追加料金の合計額は、確定時に渡された追加料金の金額を超えることはできません。 - [増分オーソリ](https://docs.stripe.com/payments/incremental-authorization.md) で追加料金を使用する場合、キャプチャーするオーソリより少ない場合は、PaymentIntent キャプチャーするエンドポイントを使用して追加料金の金額を減らすことができます。ただし、増分オーソリ中に増額された金額に関係なく、追加料金の金額を増やすことはできません。 - 部分的なオーソリで自動キャプチャーする場合、追加料金を請求できません。 ## プライベートプレビュー API の変更点からの移行 現在、追加料金のプライベートプレビューバージョンを使用している場合は、公開プレビューバージョンの動作にアクセスするために行う必要のある主な変更は次のとおりです: | プライベートプレビュー | 公開プレビュー | | ------------------------------------------------------------- | --------------------------------------------------------- | | `amount_surcharge` (最上位) | `amount_details[surcharge][amount]` | | Stripe は自動的に `金額` を増加 | 追加料金内税の合計 `金額` を指定している | | 金額の検証が常に実施されている | `amount_details[surcharge][enforce_validation]` | | 追加料金は `/更新` 時および `/確定` 時のみ | 追加料金は `/作成`、`/更新`、`/確定`、`/キャプチャー` する際に利用可能 | | `payment_method_options` ハッシュで返された `maximum_amount` と `ステータス` | `maximum_amount` と `ステータス` が `amount_details` ハッシュで返されました |