Stripe · Decline codes
What does the Stripe insufficient_funds decline code mean?
Checked
Stripe's insufficient_funds decline code means the card has insufficient funds to complete the purchase. The card is valid, but the balance or available credit can't cover the amount right now. Stripe says the customer needs to use an alternative payment method. On subscriptions a later retry, timed for when money is likely back in the account, can succeed. Visa allows reattempts, up to 20 in 30 days.
- Type
- Soft decline
- Who declined
- The card's bank
- Retry
- Yes, later (days, not minutes)
- Shopper action
- Use another card or method, or add funds and try again
- Merchant action
- Retry on a schedule; suggest another payment method
What PlatformDTC does
At checkout PlatformDTC shows "Your card has insufficient funds. Try another card." and does not use a backup processor, which would hit the same balance. With Smart retry on, a renewal is retried on the subscriber's next likely payday for their country (or 2, 5, 8, 13 and 18 days after the first decline), at 14:00 their time, up to 6 attempts. Prepaid cards get one payday retry.
Why it happens
The account balance or credit limit is below the payment amount when the bank checks it.
What the shopper can do
Pay with another card, PayPal or another method, or add money to the account and try again.
What the store can do
For one-off orders, show other payment options straight away. For renewals, retry over the following days rather than immediately; Stripe recommends no more than eight retries for charges that permit retries, and issuers may treat extra retries as potential fraud.
For developers
Visa's raw code is 51 (Category 2: reattempt permitted, up to 20 attempts in 30 days). Mastercard sends 51 with a Merchant Advice Code; MAC 24–30 name an exact wait from 1 hour to 10 days, and 03 means do not retry. A generic_decline can also sit over a raw 51.
Frequently asked questions
- Should I retry an insufficient_funds decline?
- Yes, but later. A retry minutes after a funds decline asks the same short balance again. Wait days, ideally until the customer has likely been paid, and never retry more than once a day.
- How many times can I retry insufficient funds on Visa?
- Visa's rules (24 October 2026 edition) allow up to 20 reattempts in 30 days for code 51. Stripe recommends a maximum of eight retries.
- Is insufficient_funds a hard decline?
- No. The card works; it just can't cover this amount right now.
Sources
- Stripe decline codes — Stripe
- Card declines and retries — Stripe
- Visa Core Rules and Visa Product and Service Rules (24 October 2026), Table 7-2 — Visa
- Merchant Advice Codes — Braintree (PayPal)
Related
- card_velocity_exceeded — The card's balance, credit limit or amount limit has been reached.
- withdrawal_count_limit_exceeded — The customer has gone over the balance or credit limit available on the card.
- generic_decline — Declined for an unknown reason, or blocked by Stripe Radar or Adaptive Acceptance.
- do_not_honor — The bank declined the card without saying why.
- invalid_account — The card or the account behind it is no longer valid.
- invalid_amount — The payment amount is invalid or above what the card allows.
- invalid_cvc — The card's security code (CVC) is incorrect.
- invalid_expiry_month — The card's expiry month is invalid.