Stripe decline code
insufficient_funds
The card is valid, but the account does not have enough balance or credit to cover the charge at the moment it was attempted.
Quick answer
insufficient_funds is a soft decline. A smartly timed retry can succeed on its own.
| Decline code | insufficient_funds |
|---|---|
| Type | Soft (often temporary) |
| Retrying helps? | Yes, on smart timing |
| Category | Insufficient funds |
| Customer fix | Add funds, wait for payday, or use a different card. |
Will retrying help?
Yes, a timed retry can succeed
Retry on smart timing (a few days later, ideally after payday). This is the highest-recovery soft decline; back retries with a dunning email offering a card update.
A real example
A customer on a 1st-of-month plan gets paid on the 3rd, so the renewal hits a near-empty account and fails by a day.
What the customer needs to do
Add funds, wait for payday, or use a different card.
Your recovery approach
Retry on smart timing (a few days later, ideally after payday). This is the highest-recovery soft decline; back retries with a dunning email offering a card update.
Copy-paste recovery email
Subject
Your payment didn't go through, [First Name]
We tried to charge your card for [Product] and it did not clear, no problem, it happens.
We will automatically retry in a few days, or you can update your card now to sort it immediately. Your account stays active in the meantime.
Recover insufficient_funds declines on autopilot
SubRevival reads every decline code and responds correctly, retrying soft declines on smart timing and emailing customers for hard ones, with a hosted card update page. $19/mo flat.
FAQ
What does the Stripe "insufficient_funds" decline code mean?
The card is valid, but the account does not have enough balance or credit to cover the charge at the moment it was attempted.
Will retrying a "insufficient_funds" decline work?
Often, yes. insufficient_funds is a soft decline, so a smartly timed retry can succeed without the customer doing anything. Retry on smart timing (a few days later, ideally after payday). This is the highest-recovery soft decline; back retries with a dunning email offering a card update.
How do I recover a payment that failed with "insufficient_funds"?
Retry on smart timing (a few days later, ideally after payday). This is the highest-recovery soft decline; back retries with a dunning email offering a card update. Customer action: Add funds, wait for payday, or use a different card.
Related decline codes
Source: official Stripe decline codes documentation. Recovery guidance is SubRevival's own.