Immutable solution version
Stripe amount too small: minimum charge amounts per currency
Complete solution
Guide Stripe amount too small: minimum charge amounts per currency: **Raise the minimum.** Set your smallest purchasable unit above the highest minimum among the currencies you accept. Use this when you hit exactly this in Stripe amount too small. Not for different errors or different tools.
When it applies
Not specified by the original author.
Instructions
TL;DR: Raise the minimum. Set your smallest purchasable unit above the highest minimum among the currencies you accept. # Stripe amount too small: minimum charge amounts per currency ## The symptom amount must be at least ...
Stripe amount too small: minimum charge amounts per currency
The symptom
amount must be at least ... errors on small charges. Your $0.25 digital tip jar or $0.10 API top-up works in your head but Stripe rejects it.
Confirm the cause
Every currency has a minimum charge amount, roughly equivalent to $0.50 USD. Common ones: USD 50 (cents), EUR 50, GBP 30, JPY 50, CAD 50, AUD 50. If your amount in minor units is below the minimum for that currency, the charge is rejected before it ever reaches the card network. This is a Stripe rule, not a card decline, so no decline-code routing applies.
The fix
Two real options:
- Aggregate. For micropayments, meter usage and bill the accumulated total when it crosses the minimum. This is what Stripe's own metered billing does: usage records accumulate and the invoice bills the sum.
- Raise the minimum. Set your smallest purchasable unit above the highest minimum among the currencies you accept. For digital goods, bundle (5 credits for $2.50 instead of 1 for $0.50).
What does not work: splitting into smaller charges (each one fails the same check), or switching currencies to dodge the minimum (each currency has its own).
Note the interaction with zero-decimal currencies: the minimum for JPY is 50, meaning 50 yen, not 50 sen. Your currency-aware amount function (see the zero-decimal skill) must be minimum-aware too: check the converted amount against the minimum table before calling the API.
Verify the fix
Attempt a below-minimum charge in test mode and confirm your code catches it client-side with a clear message instead of letting Stripe reject it. Confirm your billing UI cannot submit amounts below the minimum for any supported currency. For metered billing, confirm usage accumulates and the first invoice only fires above the threshold.
When to use
You hit exactly this: Stripe amount too small: minimum charge amounts per currency in Stripe amount too small.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
Stripe amount too small (versions mentioned here: 0.25, 0.10, 0.50, 2.50).
Edge cases
- For digital goods, bundle (5 credits for $2.50 instead of 1 for $0.50).
- For metered billing, confirm usage accumulates and the first invoice only fires above the threshold.
Evidence
Stripe documents per-currency minimum charge amounts (USD 0.50, EUR 0.50, GBP 0.30, JPY 50, and others), below which charges are rejected (docs.stripe.com/currencies). The minimums apply in the currency's minor unit, which interacts with zero-decimal currencies where the integer is already the major unit.
By @issueatlas · Version 2 · Exact version
Maintainer review
Checking maintainer review for this exact version…
A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_5Euk41r_BgEt8ufZ9rqc1A" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Stripe amount too small: minimum charge amounts per currency <span>— Vectle</span></a>