Stripe Decline Code · Glossary
invalid_account fires when the issuing bank or card network cannot recognize or locate the account associated with the card being charged — the card number may be syntactically valid, but the account it references does not exist, has been closed, or is in a state the bank cannot service.
What It Means
What It Means
invalid_account fires when the issuing bank or card network cannot recognize or locate the account associated with the card being charged — the card number may be syntactically valid, but the account it references does not exist, has been closed, or is in a state the bank cannot service. It is a hard, account-level decline that is structurally different from a temporary hold or a policy restriction: the bank's system has no valid, active account record to authorize against, making it one of the most definitive non-fraud hard declines in Stripe's taxonomy.
Not sure if this code is recoverable for your specific situation? Use the Stripe Failure Lookup →
Why It Happens
Why It Happens
What NOT to Do
What NOT to Do
✕ Never retry — this is a permanent account-level hard decline
There is no account to charge. Retrying the same card against a non-existent or closed account produces the same failure permanently — the bank has no record to authorize against and never will for this card. Zero retries, no exceptions.
✕ Don't ask the customer to contact their bank to "authorize the charge"
Unlike call_issuer or do_not_honor, a bank call cannot resolve invalid_account — the account either doesn't exist or has been permanently closed. Routing customers through a bank call for an account that no longer exists creates frustration without any possibility of resolution.
✕ Don't confuse it with incorrect_number or card_declined
incorrect_number is a data entry error — the card number was typed wrong. invalid_account means the card number is correctly formatted but the account behind it is genuinely non-existent or closed. The recovery path differs completely: incorrect_number asks for a card number correction; invalid_account requires an entirely new payment method.
Retry Timing
Retry Timing
Zero retries — permanent. The response is a new payment method capture sequence only.
Recovery Benchmark
Recovery Benchmark
| Metric | Result |
|---|---|
| Overall recovery rate | 15–28% |
| Recovery for long-tenure customers | 30–40% — genuinely want to continue |
| Recovery for short-tenure or new accounts | 5–12% — higher abandonment rate |
| Recovery via alternate payment method offer | +12–18% additional lift |
| Recovery with blind retries | ~0% |
| Recovery with generic card update email | 5–8% |
| Recovery with specific, neutral account-closure framing | 20–30% of those who engage |
A 25%+ overall recovery rate is achievable when your email copy is specific and non-alarming — framing it as "the account linked to your card is no longer active" rather than "your payment failed" gives customers the context they need to understand what happened and what to do next. Pairing this with prominent alternate payment method options (PayPal, bank transfer, UPI) captures the segment that doesn't have a replacement card ready.
At Scale
At Scale
Automated
Manual Escalation
FAQs
FAQs
What does the Stripe invalid_account decline code mean?
invalid_account means the issuing bank cannot locate or recognize the account associated with the card being charged. The account may have been closed, decommissioned, migrated, or invalidated — the card number exists but there is no active account behind it for the bank to authorize against. It is a permanent hard decline with no retry path.
What are the most common causes of an invalid_account error in Stripe?
Common causes include the customer's bank account being closed while the card remains stored, account numbers invalidated after bank account migrations or mergers, test card numbers accidentally saved in production, accounts deactivated as part of a fraud response or compliance action, and cards issued on unrecognized foreign networks that cannot be routed by your merchant configuration.
Should I retry a payment after a Stripe invalid_account decline?
Never. There is no active account to charge — retrying the same card produces the same failure permanently. Add invalid_account to your permanent no-retry blocklist and focus all recovery effort on capturing a new payment method through a clear, fast, non-alarming customer outreach sequence.
How is invalid_account different from incorrect_number?
incorrect_number means the card number was entered incorrectly — a data entry error that is fixed by re-entering the correct number. invalid_account means the card number is correctly formatted but the account behind it genuinely does not exist or has been closed — a structural account-level issue that requires a completely new payment method, not a card number correction.
What is the recovery rate for Stripe invalid_account failures?
Overall recovery rates are 15–28%. Long-tenure customers whose bank account was recently closed recover at 30–40% with fast, account-closure-framed outreach. Short-tenure accounts recover at 5–12%. Alternate payment method offers add 12–18% additional lift. Recovery with generic card update emails is only 5–8% — specific account-closure framing significantly outperforms.
What to do next
You are here
invalid_account
Decline code reference
Check recoverability
Stripe Failure Lookup
See what's recoverable — and what isn't →
Then
Sign up for Recurflux
Automate recovery for every decline code →
Before you retry
Before you retry
Most invalid_account failures are retried on the wrong schedule — which recovers the payment about 30% of the time. The other 70% leaves permanently. See what this code is actually costing at your MRR before deciding how to handle it.
Stop leaving revenue on the table
Recurflux handles code-specific retry scheduling, adaptive dunning, and dispute intelligence across all 30 Stripe decline codes. Connect in under 5 minutes.