# Stripe: card declined, currency_not_supported

> Stripe declined a payment with currency_not_supported: the card can’t pay in that currency. Check your currency list, then let the customer use another card.

Canonical: https://app369.com/fix/stripe-currency-not-supported/
Last updated: 2026-11-09

currency_not_supported is the Stripe decline code for a card that can’t pay in the currency of the charge. The customer’s bank decides this, so the fix is to ask for another card, or to charge in a currency the card and your account both support.

**Short answer**

Tell the customer the card can’t pay in this currency and ask for another card or payment method. A bad currency code gives an API error, not this decline. If many customers in one country hit it, offer their local currency, if your account supports it, or another payment method.

Rather not fix it yourself? [**Stripe Billing Fix and Setup**](https://app369.com/fixed-price/stripe-billing-setup/) handles it at a fixed price, agreed before work starts.

## **Why the card refuses the currency, and the fix**

1. 01 ### **The card issuer doesn’t allow the currency**
  > “The customer needs to check with the issuer whether the card can be used for the type of currency specified.” [**Stripe, Decline codes (currency_not_supported)**](https://docs.stripe.com/declines/codes) Some cards, often local debit cards, only pay in their home currency. Stripe can’t change this, so ask the customer to use another card or a different payment method.
2. 02 ### **American Express can’t take that currency**
  > “American Express doesn’t support currencies marked with an asterisk (*) in any Stripe account country.” [**Stripe, Supported currencies**](https://docs.stripe.com/currencies) American Express doesn’t support some currencies in any Stripe country. If Amex customers fail in one currency, check the asterisk list on Stripe’s currency page and offer another currency or method. Currencies without an asterisk can still fail for Amex in some countries.
3. 03 ### **The app sends the wrong currency**
  > “Make sure to use all lowercase letters when entering the three-letter ISO code in any payment request.” [**Stripe, Supported currencies**](https://docs.stripe.com/currencies) A currency picked from the browser locale, or a typo in a config file, can charge a currency you didn’t plan for. Send the three-letter ISO code in lowercase, from one list your app controls.```
const PRICES = { usd: 1999, eur: 1899, gbp: 1599 }; // server-side, minor units
if (!(requested in PRICES)) throw new Error('Unsupported currency');
await stripe.paymentIntents.create({ amount: PRICES[requested], currency: requested });
```
4. 04 ### **The message hides the next step** A generic “card declined” leaves the customer guessing. For this code it is fine to say the card can’t pay in this currency and suggest another card.

Checked against the vendor’s docs on November 9, 2026: [Stripe docs: Decline codes](https://docs.stripe.com/declines/codes); [Stripe docs: Supported currencies](https://docs.stripe.com/currencies).

## **Rather hand it over?**

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

- [$950**Stripe Billing Fix and Setup**Subscriptions, webhooks, customer portal and failed payments set up or fixed, tested in Stripe test mode.**See scope and start**](https://app369.com/fixed-price/stripe-billing-setup/)
- [from $450**App Fix Ticket**One reproducible bug in an existing mobile or web app, diagnosed and fixed.**See scope and start**](https://app369.com/fixed-price/flutter-firebase-bug-fix/)
- [from $450**AI-Built App Rescue**A Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.****No issues worth fixing, no charge.**** If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.**See scope and start**](https://app369.com/fixed-price/ai-app-rescue/)

[**All 127 Fiverr reviews**](https://app369.com/reviews/)

Related: [**Stripe card_not_supported**](https://app369.com/fix/stripe-card-not-supported/) · [**Stripe amount_too_small**](https://app369.com/fix/stripe-amount-too-small/) · [**Stripe generic_decline**](https://app369.com/fix/stripe-card-declined-generic-decline/) · [**Stripe Checkout Session expired**](https://app369.com/fix/stripe-checkout-session-expired/)

Questions

## **More on this error**

<details>

<summary>**Will retrying the same card work? **+</summary>

No. The card issuer refuses the currency, so the same card in the same currency fails again. Ask for another card or method.

</details>

<details>

<summary>**Should I charge everyone in USD? **+</summary>

It doesn’t fix this code: a card that only pays in its home currency refuses USD too. Offer the customer’s local currency, if your account supports it, or another payment method.

</details>

<details>

<summary>**Can you fix it for me? **+</summary>

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

</details>

A different error?

## **Describe it and get a written quote**

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.

[**Describe your problem **→](https://app369.com/contact/) [**All fixes**](https://app369.com/fix/)