← All errors · StripeStripe payments & webhook errors
Amount must be at least $0.50 usd
Exact error
Amount must be at least $0.50 usd
What it means
Stripe enforces a minimum charge amount per currency, and amounts are given in the smallest currency unit (cents for USD).
Likely causes
- Passing dollars instead of cents (e.g. 5 instead of 500).
- A price, discount or coupon that brings the total below the minimum.
How to fix it
Convert to cents with rounding:
const amount = Math.round(price * 100); // $5.00 -> 500 await stripe.paymentIntents.create({ amount, currency: 'usd' });Check Stripe's docs on minimum charge amounts for other currencies.
Prevent this next time
- Test webhooks locally with `stripe listen` and the Stripe test cards before going live.
- Check webhook delivery attempts in the Stripe Dashboard after each deploy, and keep test and live keys clearly separated per environment.
FAQ
What does "Amount must be at least $0.50 usd" mean?
Stripe enforces a minimum charge amount per currency, and amounts are given in the smallest currency unit (cents for USD).
What usually causes it?
Passing dollars instead of cents (e.g. 5 instead of 500). A price, discount or coupon that brings the total below the minimum.
How do I fix it?
1. Convert to cents with rounding: 2. Check Stripe's docs on minimum charge amounts for other currencies.
Related errors
Get new fixes weekly
No spam. Unsubscribe anytime. Privacy