# Connect で FX Quotes API を使用する 各地域に適応させる通貨を選択し、為替レートを固定し、手数料を顧客に転嫁するかどうかを決定します。 [FX Quotes API](https://docs.stripe.com/api/fx_quotes.md?api-version=2025-07-30.preview) を使用して、顧客の通貨で価格を各地域に適応させ、為替レートの変動による不確実性を軽減します。顧客の取引通貨で [PaymentIntent](https://docs.stripe.com/api/payment_intents/create.md) を作成する際に、為替レート見積もりを指定できます。また、[送金作成](https://docs.stripe.com/api/transfers/create.md)時に為替レート見積もりを指定して、連結アカウントの売上処理金額を確認することもできます。詳細については、[FX Quotes](https://docs.stripe.com/api/fx_quotes.md?api-version=2025-07-30.preview) をご覧ください。 ## 通貨換算のシナリオ例 Connect の[支払いタイプ](https://docs.stripe.com/connect/charges.md#types)に応じて、通貨換算は次のように処理されます。 > #### 多通貨による売上処理 > > 連結アカウントが[多通貨売上処理](https://docs.stripe.com/connect/multicurrency-settlement.md)で取引通貨を有効にしている場合、Stripe は次の例で説明するデフォルトの通貨ではなく、その通貨に換算します。 ### ダイレクト支払い [ダイレクト支払い](https://docs.stripe.com/connect/direct-charges.md)は、[取引通貨](https://docs.stripe.com/currencies.md#presentment-currencies)から連結アカウントのデフォルト通貨に常に換算されます。[プラットフォーム手数料](https://docs.stripe.com/connect/direct-charges.md#collect-fees)は、プラットフォームのデフォルト通貨に換算されます。 たとえば、連結アカウントの支払いを USD で受け付けるとします。連結アカウントは EUR で売上を受け取ります。連結アカウントに送金される売上は EUR に換算され、プラットフォーム手数料は、プラットフォームで EUR から USD に戻されます。 FX Quotes API の[拡張レート見積もり](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#quote-durations-and-rate-changes)を使用すると、ダイレクト支払いに使用される通貨換算レートの不正確性を低減できます。ダイレクト支払いを作成する際に、[FX 見積もり ID を PaymentIntent に渡します](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#use-localized-prices-payments)。最終顧客の通貨を `from_currency` に指定します。連結アカウントのデフォルトの売上処理通貨は `to_currency` に指定しています。 #### FX Quotes を作成する ```curl curl https://api.stripe.com/v1/fx_quotes \ -u "<>:" \ -H "Stripe-Version: 2025-03-31.preview" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d to_currency=gbp \ -d "from_currencies[]=usd" \ -d "from_currencies[]=eur" \ -d lock_duration=hour \ -d "usage[type]=payment" ``` ダイレクト支払いは連結アカウントのデフォルト通貨で行われますが、プラットフォームは[ダイレクト支払い](https://docs.stripe.com/connect/direct-charges.md)にかかる[プラットフォーム手数料](https://docs.stripe.com/api.md#application_fees)をプラットフォームのデフォルト通貨で受け取ります。FX Quotes API のダイレクト支払いで拡張レート見積もりを使用しても、プラットフォーム手数料の換算に使用される通貨換算レートには影響しません。 | 銀行口座またはデビットカードが利用できるかどうか | 換算アクション | | ------------------------ | ------------------------------------------------- | | 売上処理通貨で利用可能 | 換算なし | | 売上処理通貨で利用できない | Stripe は、プラットフォームアカウントのデフォルト通貨に基づいてプラットフォーム手数料を換算 | プラットフォームがプラットフォーム手数料を徴収せず、代わりに支払いの一部を保留する場合、その資金はプラットフォームアカウントの他の支払いと同じ方法で入金されます。 ### on_behalf_of を使用しないデスティネーション支払い `on_behalf_of` を指定してしない[デスティネーション支払い](https://docs.stripe.com/connect/destination-charges.md)を処理する場合、Stripe はまず[取引通貨](https://docs.stripe.com/currencies.md#presentment-currencies)からプラットフォームのデフォルト通貨に換算します。連結アカウントに送金される売上は、連結アカウントのデフォルト通貨に換算されます。 - `application_fee_amount` を使用する場合、連結アカウントのデフォルト通貨への換算後に[プラットフォーム手数料](https://docs.stripe.com/connect/destination-charges.md?fee-type=application-fee#collect-fees)が徴収されます。手数料は、プラットフォームに追加されたときにその通貨のまま維持されます。 - `transfer_data[amount]` を使用する場合、最初の通貨換算後に手数料が徴収され、その後はプラットフォームのデフォルト通貨で維持されます。 > この支払いフローは、Stripe の地域別の[クロスボーダー取引ポリシー](https://docs.stripe.com/connect/cross-border-payouts.md)の対象となります。 たとえば、連結アカウントのデスティネーション支払いを EUR で受け付けるとします。連結アカウントは GBP で売上処理を行い、プラットフォームは USD で決済します。支払いは EUR から USD に換算され、連結アカウントに送金される売上は GBP に換算されます。 - `application_fee_amount` を使用する場合、プラットフォーム手数料の金額は EUR から GBP に換算され、連結アカウントで決済される金額から差し引かれます。 - `transfer_data[amount]` を使用する場合、手数料は当初の取引通貨から換算した後、USD で維持されます。 FX Quotes API の[拡張レート見積もり](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#quote-durations-and-rate-changes)を使用すると、`on_behalf_of` を指定していないデスティネーション支払いに使用される通貨換算レートの不正確性を低減できます。支払いを作成する際に、[FX Quotes ID を PaymentIntent に渡します](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#use-localized-prices-payments)。上記の例で、EUR (最終顧客の通貨) から USD (プラットフォームの通貨) への換算に使用される通貨換算レートの正確性を確認できます。FX Quotes では、最終顧客の通貨を `from_currency` に指定しています。プラットフォームのデフォルトの売上処理通貨は `to_currency` に指定します。FX Quotes は、プラットフォームから連結アカウントへの送金で発生する通貨換算や、プラットフォーム手数料の換算には使用できません。 #### FX Quates の作成 ```curl curl https://api.stripe.com/v1/fx_quotes \ -u "<>:" \ -H "Stripe-Version: 2025-03-31.preview" \ -d to_currency=gbp \ -d "from_currencies[]=usd" \ -d "from_currencies[]=eur" \ -d lock_duration=hour \ -d "usage[type]=payment" \ -d "usage[payment][destination]={{CONNECTEDACCOUNT_ID}}" ``` `application_fee_amount` パラメーターを使用して回収したプラットフォーム手数料が、[デスティネーション支払い](https://docs.stripe.com/connect/destination-charges.md)のために換算されることはありません。プラットフォームは常に、連結アカウントの売上処理通貨でプラットフォーム手数料を受け取ります。`transfer_data[amount]` パラメーターを使用して少額の取引額を送金し、プラットフォームのデフォルトの売上処理通貨で手数料を徴収します。 ### on_behalf_ofを使用したデスティネーション支払い `on_behalf_of` を指定した[デスティネーション支払い](https://docs.stripe.com/connect/destination-charges.md)を処理する場合、Stripe はまず[取引通貨](https://docs.stripe.com/currencies.md#presentment-currencies)から連結アカウントのデフォルト通貨に換算します。[プラットフォーム手数料](https://docs.stripe.com/connect/destination-charges.md?fee-type=application-fee#collect-fees)は、`application_fee_amount` と `transfer_data[amount]` のどちらを使用しているかを問わず、連結アカウントの通貨が維持されます。 たとえば、連結アカウントが USD で支払いを受け付け、EUR で売上処理を行うと仮定します。支払いは EUR に換算され、連結アカウントには EUR が送金されます。`application_fee_amount` と `transfer_data[amount]` のどちらを使用しているかを問わず、手数料は EUR で徴収されます。 FX Quotes API の[拡張レート見積もり](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#quote-durations-and-rate-changes)を使用して、`on_behalf_of` を指定したデスティネーション支払いの為替の不確実性を軽減できます。支払いを作成する際に、[FX 見積もり ID を PaymentIntent](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#use-localized-prices-payments) に渡します。上記の例では、USD (最終顧客の通貨) から EUR (連結アカウントの通貨) への変換に使用される為替レートが確定されます。FX 見積もりでは、最終顧客の通貨を `from_currency` として指定します。連結アカウントのデフォルトの売上処理通貨を `to_currency` として指定します。 #### FX Quates の作成 ```curl curl https://api.stripe.com/v1/fx_quotes \ -u "<>:" \ -H "Stripe-Version: 2025-03-31.preview" \ -d to_currency=gbp \ -d "from_currencies[]=usd" \ -d "from_currencies[]=eur" \ -d lock_duration=hour \ -d "usage[type]=payment" \ -d "usage[payment][on_behalf_of]={{CONNECTEDACCOUNT_ID}}" \ -d "usage[payment][destination]={{CONNECTEDACCOUNT_ID}}" ``` `application_fee_amount` パラメーターを使用して回収したプラットフォーム手数料が、[デスティネーション支払い](https://docs.stripe.com/connect/destination-charges.md)のために換算されることはありません。プラットフォームは常に、連結アカウントの売上処理通貨でプラットフォーム手数料を受け取ります。`transfer_data[amount]` パラメーターを使用して少額の取引額を送金し、プラットフォームのデフォルトの売上処理通貨で手数料を徴収します。 `destination` または `on_behalf_of` パラメータを使用してプラットフォームで支払いを作成する場合は、複数の通貨で残高が累積する可能性があります。ほかの通貨の銀行口座を持っていない場合、Stripe はプラットフォームのデフォルトの銀行口座にデフォルト以外の通貨で残高を入金する手段を提供します。 Stripe は通貨を換算し、支払い元の残高の通貨である `currency` を[手動入金](https://docs.stripe.com/connect/currencies/fx-quotes-api.md#fx-on-payouts)の通貨として表示します。 ```curl curl https://api.stripe.com/v1/payouts \ -u "<>:" \ -d amount=1000 \ -d currency=xaf ``` 指定された通貨の残高に十分な資金がある場合、Stripe は資金を自動的にデフォルトの銀行口座の通貨に換算します。入金時の FX Quotes の使用はサポートされていません。 > この支払いフローは、Stripe の地域別の[クロスボーダー取引ポリシー](https://docs.stripe.com/connect/cross-border-payouts.md)の対象となります。 ### on_behalf_of を使用しない支払いと送金別方式 [支払いと送金別方式](https://docs.stripe.com/connect/separate-charges-and-transfers.md)では、[取引通貨](https://docs.stripe.com/currencies.md#presentment-currencies)からプラットフォームのデフォルト通貨に換算され、プラットフォームはその後に連結アカウントへ売上を送金します。プラットフォームは送金時に適切な送金額を選択できるため、手数料の徴収に `application_fee_amount` パラメーターと `transfer_data[amount]` パラメーターは使用されません。 USD 建ての支払いを例にとってみましょう。プラットフォームアカウントのデフォルト通貨は GBP です。USD から GBP への通貨換算は、支払いの一環として行われます。プラットフォームがこれらの資金を、EUR をデフォルト通貨とする連結アカウントに送金すると、別の通貨換算 (GBP から EUR) が行われます。 FX Quotes API の[拡張レート見積もり](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#quote-durations-and-rate-changes)を使用すると、`on_behalf_of` を指定しない支払いと送金別方式に使用される通貨換算レートの不正確性を低減できます。これは、支払いと単独送金の両方に適用されます。 #### 支払いの FX Quotes ```curl curl https://api.stripe.com/v1/fx_quotes \ -u "<>:" \ -H "Stripe-Version: 2025-03-31.preview" \ -d to_currency=gbp \ -d "from_currencies[]=usd" \ -d "from_currencies[]=cad" \ -d lock_duration=hour \ -d "usage[type]=payment" ``` #### 送金の FX Quotes ```curl curl https://api.stripe.com/v1/fx_quotes \ -u "<>:" \ -H "Stripe-Version: 2025-03-31.preview" \ -d to_currency=eur \ -d "from_currencies[]=gbp" \ -d lock_duration=five_minutes \ -d "usage[type]=transfer" \ -d "usage[transfer][destination]={{CONNECTEDACCOUNT_ID}}" ``` 支払いを作成する際に、[FX Quotes ID を PaymentIntent に渡します](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#use-localized-prices-payments)。上記の例で、USD (最終顧客の通貨) から GBP (Connect プラットフォームの通貨) への換算に使用される通貨換算レートの正確性を確認できます。FX Quotes では、最終顧客の通貨を `from_currency` に指定しています。プラットフォームのデフォルトの売上処理通貨は `to_currency` に指定します。 送金を作成する際に、[FX Quotes ID を送金に渡します](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#use-localized-prices-payments)。上記の例で、GBP (Connect プラットフォームの通貨) から EUR (連結アカウントの通貨) への換算に使用される通貨換算レートの正確性を確認できます。FX Quotes では、Connect プラットフォームの通貨を `from_currency` に指定しています。連結アカウントのデフォルトの通貨は `to_currency` に指定しています。 > この支払いフローは、Stripe の地域別の[クロスボーダー取引ポリシー](https://docs.stripe.com/connect/cross-border-payouts.md)の対象となります。 ### on_behalf_of を使用した支払いと送金別方式 [支払いと送金別方式](https://docs.stripe.com/connect/separate-charges-and-transfers.md)では、[取引通貨](https://docs.stripe.com/currencies.md#presentment-currencies)から連結アカウントのデフォルト通貨に換算され、プラットフォームはその後に連結アカウントへ売上を送金します。プラットフォームは送金時に適切な送金額を選択できるため、手数料の徴収に `application_fee_amount` パラメーターと `transfer_data[amount]` パラメーターは使用されません。 USD 建ての支払いを例にとってみましょう。連結アカウントのデフォルト通貨は EUR です。USD から EUR への通貨換算は、支払いの一環として行われます。資金はすでに連結アカウントの通貨になっているため、送金中に通貨換算は発生しません。 FX Quotes API の[拡張レート見積もり](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api.md#quote-durations-and-rate-changes)を使用すると、`on_behalf_of` で支払いと送金別方式を使用する際の為替の不正確性を低減できます。 #### 支払いの FX Quates ```curl curl https://api.stripe.com/v1/fx_quotes \ -u "<>:" \ -H "Stripe-Version: 2025-03-31.preview" \ -d to_currency=gbp \ -d "from_currencies[]=usd" \ -d lock_duration=hour \ -d "usage[type]=payment" \ -d "usage[payment][on_behalf_of]={{CONNECTEDACCOUNT_ID}}" ``` > この支払いフローは、Stripe の地域別の[クロスボーダー取引ポリシー](https://docs.stripe.com/connect/cross-border-payouts.md)の対象となります。 ### 返金時の通貨換算 最初に別の通貨に換算された支払いを返金する場合、返金時点での通貨換算レートが適用されます。これは、元の支払いに通貨換算レートを設定するために FX Quotes を使用したかどうかに関わらず適用されます。Stripe は、返金に係る通貨換算に対し、通貨換算手数料を請求しません。Stripe は、元の取引で請求された[通貨換算手数料の返金には応じません](https://support.stripe.com/questions/h2-2023-changes-to-currency-conversion-fees-for-refunds)。 ### 入金時の通貨換算 売上処理通貨は、*入金* (A payout is the transfer of funds to an external account, usually a bank account, in the form of a deposit)で受け取ることができる通貨です。[サポートされている売上処理通貨](https://docs.stripe.com/connect/payouts-connected-accounts.md#supported-settlement)はこちらでご覧いただけます。 銀行口座やデビットカードを使用できるかどうかにより、[残高](https://docs.stripe.com/connect/account-balances.md)を入金する際に以下が発生します。 | 銀行口座またはデビットカードが利用できるかどうか | 換算アクション | | ---------------------------- | -------------------------------------------------------------------- | | その通貨を利用できる | 換算なし | | その通貨を複数の銀行口座またはデビットカードで利用できる | 換算なし。Stripe は `default_for_currency` として設定されている銀行口座またはデビットカードを使用します。 | | その通貨を利用できない | Stripe は、アカウントのデフォルト通貨に基づいて入金残高を換算します。 |