Working with multiple currencies
Determine the presentment currency based on the charge type and the country of the Stripe account.
Stripe supports processing charges in 135+ currencies. This allows you to present prices in a customer’s native currency and avoid conversion costs for customers.
The currencies you can use are determined by the country of the Stripe account where the charge is made.
Charge type | Currency determined by |
---|---|
Direct charges | Country of the connected account |
Destination charges | Country of the platform account |
Destination charges using on_ | Country of the connected account |
Separate charges and transfers | Country of the platform account |
Separate charges and transfers using on_ at charge time | Country of the connected account |
Currency conversions
A currency conversion occurs if the presentment currency differs from the settlement currency.
The presentment currency is the currency that’s used for charges. The settlement currency is the currency that you can receive payouts in, depending on the charge type and applicable currency conversion. See the supported presentment currencies and the supported settlement currencies.
Depending on bank account or debit card availability, the following occurs when paying out a balance:
Bank account or debit card availability | Conversion action |
---|---|
Available for the currency | No conversion |
Multiple bank accounts or debit cards available for the currency | No conversion–Stripe uses the bank account or debit card set as default_ |
Not available for the currency | Stripe converts the payout balance based on the Stripe account’s default currency |
If you regularly charge in multiple currencies, you might be able to establish multiple bank accounts to have multiple settlement currencies.
Currency conversions use the current exchange rates provided by our service providers, with an additional conversion fee applied by Stripe. There are online resources for conversion calculation that can help you estimate current market rates. However, these numbers can fluctuate and might not reflect Stripe’s rates at the time a payment is processed.
Application fees for direct charges
Although direct charges are in the connected account’s default currency, your platform receives the application fees for direct charges in your platform’s default currency.
Bank account or debit card availability | Conversion action |
---|---|
Available for the settlement currency | No conversion |
Not available for the settlement currency | Stripe converts the application fee based on the platform account’s default currency |
If your platform doesn’t use application fees and retains a portion of the charges instead, those funds are paid out (and converted or not) the same way as other charges on the platform account.
Application fees for destination charges and converting balances
Application fees collected using the application_
parameter aren’t converted again for destination charges; platforms always receive application fees in the connected account’s settlement currency. Use the transfer_
parameter to transfer less of the transaction amount and collect fees in the platform’s default settlement currency.
If you create charges on the platform using the destination
or on_
parameters, you might accumulate balances in multiple currencies. If you don’t have bank accounts for these other currencies, Stripe provides a way to pay out balances in non-default currencies to your platform’s default bank account.
These currency conversions are created as manual payouts with currency
set as the currency of the source balance:
As long as there are sufficient funds in the balance for the specified currency, Stripe automatically converts the funds to the default bank account’s currency.
Example scenarios
The following examples illustrate how to work with multiple currencies in Connect:
Direct charges
Direct charges are always converted to the connected account’s default currency from the presentment currency. The application fee is converted to the platform’s default currency.
For example, you accept a charge for a connected account in USD. The connected account settles in EUR. The funds sent to the connected account are converted to EUR and the application fee is converted back to your platform in USD from EUR.
Destination charges without on_behalf_of
When processing destination charges without on_
, Stripe first converts them from the presentment currency to the platform’s default currency. The funds sent to the connected account are then converted to the connected account’s default currency.
- If an
application_
is used, the application fee is collected after the conversion to the connected account’s default currency. The fee remains in that currency when added to the platform.fee_ amount - If
transfer_
is used, the fee is collected after the first currency conversion and remains in the platform’s default currency.data[amount]
Note
This charge flow is subject to Stripe’s regional and cross-border policies.
For example, you accept a destination charge for a connected account in EUR. The connected account settles in GBP, and your platform settles in USD. The charge is converted from EUR to USD and the funds sent to the connected account are converted to GBP.
- If
application_
is used, the application fee amount is converted from EUR to GBP and taken from the amount that settles on the connected account.fee_ amount - If
transfer_
is used, the fee is retained in USD after converting from the initial presentment currency.data[amount]
Destination charges with on_behalf_of
When processing destination charges with on_
, Stripe first converts them from the presentment currency to the connected account’s default currency. The application fee remains in the connected account’s currency, regardless of whether application_
or transfer_
is used.
For example, the connected account accepts a charge in USD but settles in EUR. The charge is converted to EUR and sent to the connected account in EUR. The fee is collected in EUR regardless of whether application_
or transfer_
is used.
Separate charges and transfers without on_behalf_of
Separate charges are converted to the platform’s default currency from the presentment currency and the platform later transfers the funds to the connected account. The application_
and transfer_
parameters are not used to collect fees, since the platform can choose the appropriate amount to send at transfer time.
Note
This charge flow is subject to Stripe’s regional and cross-border policies.
Separate charges and transfers with on_behalf_of
Separate charges are converted to the connected account’s default currency from the presentment currency and the platform later transfers the funds to the connected account. The application_
and transfer_
parameters are not used to collect fees, since the platform can choose the appropriate amount to send at transfer time.
Note
This charge flow is subject to Stripe’s regional and cross-border policies.