Stripe supports processing payments in 135+ currencies, allowing you to charge customers in their native currency while receiving funds in yours. This is especially helpful if you have a global presence, as charging in a customer’s native currency can increase sales.
The currency used comes into play in three places:
- The customer’s credit card currency
- The currency of the charge, called the presentment currency
- The currency accepted by your destination bank account or debit card, called the settlement currency
If the charge currency differs from the customer’s credit card currency, the customer may be charged a foreign exchange fee by their credit card company. The customer may also be charged a fee by their credit card company if the credit card and your business are in different countries, regardless of the currency used.
If the charge currency differs from your settlement currency, Stripe converts the charge to your settlement currency. Refer to our payouts documentation to learn about the different bank account currencies that we support.
Supported presentment currencies
All API requests expect amounts to be provided in a currency’s smallest unit. For example, to charge 10 USD, provide an
amount value of 1000 (i.e., 1000 cents).
For zero-decimal currencies, still provide amounts as an integer but without multiplying by 100. For example, to charge ¥500, provide an
amount value of 500.
Stripe treats the Hungarian Forint (HUF) as a zero-decimal currency for payouts, even though you can charge two-decimal amounts. When you create a manual payout in HUF, only integer amounts that are evenly divisible by 100 are allowed. For example, if you have an available balance of HUF 10.45, you can pay out HUF 10 by submitting 1000 for the
amountvalue. You can’t submit a payout for the full balance, HUF 10.45, because the
amountvalue of 1045 is not evenly divisible by 100.
The Ugandan Shilling (UGX) was a decimal-based currency but is now effectively a zero-decimal currency. To maintain backwards compatibility, amounts must be passed in with two decimals (e.g., to charge 5 UGX, provide an
amountvalue of 500) and be evenly divisible by 100 (e.g., an
amountvalue of 499 is not allowed).
Minimum and maximum charge amounts
As Stripe’s processing fee combines a small fixed amount and a percentage, we enforce a minimum amount when creating a charge. This ensures you don’t lose money on a charge. The minimum amount you can charge depends on which bank account settlement currency the payment would be paid out to.
|Settlement Currency||Minimum Charge Amount|
If you only have one bank account in use and you create charges in the same currency as it, the minimum amount is simply what is listed for your currency. Charges that must be converted into your account’s default settlement currency must meet the equivalent minimum of the settlement currency. For example, if you have GBP and USD bank accounts, with GBP set as your default currency, any non-USD charges you create are converted to GBP. These charges must meet the minimum amount required for GBP (£0.30) after conversion.
There are some exceptions to the minimum charge amount limit (
amount values as low as 1 is allowed) when you are creating payments with certain payment methods, such as iDEAL.
The only limit to the maximum amount you can charge a customer is a technical one. The
amount value supports up to twelve digits for IDR (e.g., a value of 999999999999 for a charge of 9,999,999,999.99 IDR), and up to eight digits for all other currencies (e.g., a value of 99999999 for a charge of 999,999.99 USD).
European credit cards
There are some factors, like pricing, in which credit cards from Europe are treated distinctly from credit cards from other regions. Stripe defines European cards as cards issued in the following countries:
|VA||Holy See (Vatican City State)|
|IM||Isle of Man|
|PM||Saint Pierre and Miquelon|