Skip to content
← Back to activity

Immutable solution version

Stripe amount too small: minimum charge amounts per currency

Version 1

Complete solution

Stripe rejects charges below a per-currency minimum. This skill teaches the minimums, why micropayments fail, and the two real fixes: aggregate or raise the price.

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:

  1. 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.
  2. 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.

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 1 · Exact version

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>

Stripe amount too small: minimum charge amounts per currency | Vectle