Stripe supports processing charges in 135+ currencies allowing you to present prices in a customer’s native currency. Doing so can improve sales and help customers avoid conversion costs.
You specify the presentment currency when creating a PaymentIntent or a charge. When a Stripe account receives payments in multiple currencies, Stripe accumulates separate balances for each currency. When those balances are paid out to an associated bank account (or debit card), Stripe automatically sends funds to the associated account for each currency, thereby avoiding exchange fees.
When the presentment currency differs from your settlement currency—that accepted by any of your bank accounts or debit cards—we’ll automatically convert the payment to your default settlement currency before transferring the funds.
Calculating foreign exchange rates
Exchange rates displayed online are typically mid-market rates: the average between the buy and sell price of the currency. The actual exchange rate you pay ordinarily includes markups from financial institutions. When converting currencies on a payment or transfer, Stripe applies the daily mid-market rate provided by our service providers and takes an additional fee. You can see more details about pricing for currency conversion on our pricing page.
You can estimate currency conversions using our estimation page and see the actual exchange rate used for a conversion through the API or in your Dashboard. Note that the estimation page excludes Stripe fees that may apply to certain types of conversions (as set out on our pricing page).
Avoiding currency conversions
Currency conversions occur at the time the charge is made.
- If there are multiple bank accounts available for a given currency, Stripe uses the one set as
- If there is no bank account available for that currency, Stripe automatically converts those funds to your default settlement currency.
- If there is a bank account available for that currency at the time the charge is made, no conversion occurs.
If you regularly charge in multiple currencies, you may be able to define multiple bank accounts to support multiple settlement currencies and avoid conversions. Otherwise, you can only avoid currency conversions by charging in your default currency, although that could have a negative impact on your sales.
Conversions on disputes and refunds
If a currency-converted payment is disputed or refunded, the amount you received is converted back to the presentment currency at the current rate. This fluctuates on a daily basis, so the rate used when a charge is converted often differs from the rate used when a dispute or refund occurs. The returned amount can be less—or more—than what the payment provided. Ultimately, a customer is always refunded the exact amount they paid and in the currency they paid in, regardless of the rate and cost to the Stripe user.
For example, if your settlement currency is EUR and you process a 60 USD payment at a rate of 0.88 EUR per 1 USD, the converted amount is 52.80 EUR (excluding the Stripe fee). If the rate is 0.86 EUR per 1 USD at the time of refund, the amount deducted from your account balance is only 51.60 EUR.
Conversions on Stripe fees
If you incur a Stripe fee in a currency for which you do not have a linked bank account, we will automatically convert that fee to your default settlement currency at the time the fee is incurred before charging you. For example, if you are a Stripe Billing user whose default settlement currency is USD, you might sometimes incur the 0.5% variable fee when you present in a non-USD currency. If you have a subscriber to whom you present in EUR for their monthly subscription of 100 EUR, we will convert that 0.50 EUR Stripe Billing fee to USD at the mid-market exchange rate at the time of the charge, at no additional FX cost to you.