Reference
Stripe Decline Codes — Complete Recovery Guide
Every Stripe decline code with what it means, whether to retry, and how to recover the customer. Bookmark this — most charges that fail are recoverable if you handle the code right.
Soft decline
11Temporary issue. Retry later — most resolve within 7 days with the right cadence.
Hard decline
13Permanent issue with the card. Retries will keep failing — you need a new payment method from the customer.
Input error
9Wrong number, expiry, or CVC. Customer needs to re-enter card details.
Issuer block
4The issuing bank refused. Customer must call their bank or use a different card.
Limits exceeded
3Card-level or account-level limit hit. Wait window then retry, or use a different card.
Fraud / risk
6Issuer flagged the charge. Don't retry without customer contact — risks chargebacks.
Tip: use Cmd/Ctrl+F to find a specific code. Or run the free audit to see which codes hit your account most.
Soft decline (11)
Temporary issue. Retry later — most resolve within 7 days with the right cadence.
card_declinedGeneric decline — the issuer didn't give a specific reason.
duplicate_transactionNetwork thinks this is a duplicate of a recent charge.
generic_declineCatch-all decline with no specific reason from the issuer.
insufficient_fundsCard account doesn't have enough money for the charge.
issuer_not_availableIssuing bank's authorization service is down.
new_account_information_availableIssuer has updated account details that you should refresh.
no_action_takenBank didn't approve or decline — transaction got dropped.
processing_errorProcessor (Stripe or network) had an internal error.
reenter_transactionNetwork asked the merchant to re-submit the transaction.
try_again_laterIssuer asked us to retry later — temporary issue.
authentication_requiredCustomer must complete 3D Secure authentication.
Hard decline (13)
Permanent issue with the card. Retries will keep failing — you need a new payment method from the customer.
card_not_supportedThe card doesn't support this type of purchase.
currency_not_supportedThe card doesn't support the transaction currency.
do_not_try_againIssuer explicitly said: don't retry this card.
expired_cardCard's expiration date has passed.
invalid_accountAccount number isn't valid at the issuer.
invalid_amountAmount is below or above the card's allowed range.
not_permittedThis type of transaction isn't permitted on the card.
restricted_cardCard has restrictions that block this charge.
revocation_of_all_authorizationsAll recurring authorizations on this card have been revoked.
revocation_of_authorizationRecurring authorization for THIS merchant was revoked.
service_not_allowedThis merchant category code (MCC) isn't allowed for the card.
stop_payment_orderCardholder issued a stop-payment order.
transaction_not_allowedThis specific transaction type isn't allowed on the card.
Input error (9)
Wrong number, expiry, or CVC. Customer needs to re-enter card details.
incorrect_cvcCustomer entered the wrong CVC (3-4 digit code).
incorrect_numberCard number is invalid (wrong digits or fails Luhn check).
incorrect_pinPIN entered doesn't match the card (in-person/POS context).
incorrect_zipPostal/ZIP code didn't match the issuer's record (AVS check).
invalid_cvcCVC has wrong format (e.g. 4 digits when card needs 3).
invalid_expiry_monthExpiry month is out of range or wrong format.
invalid_expiry_yearExpiry year is in the past or wrongly formatted.
invalid_numberCard number fails Luhn validation.
testmode_declineStripe test mode rejected the test card.
Issuer block (4)
The issuing bank refused. Customer must call their bank or use a different card.
approve_with_idIssuer requires identification before approving the charge.
call_issuerThe issuing bank wants the cardholder to call before approving.
do_not_honorIssuer refused without giving a reason.
approve_with_id_mismatchID provided doesn't match issuer's record.
Limits exceeded (3)
Card-level or account-level limit hit. Wait window then retry, or use a different card.
Fraud / risk (6)
Issuer flagged the charge. Don't retry without customer contact — risks chargebacks.
fraudulentIssuer or Stripe Radar flagged the charge as fraud.
lost_cardCard was reported lost.
merchant_blacklistIssuer has blacklisted your merchant account.
pickup_cardIssuer wants this card physically confiscated.
security_violationIssuer's fraud system detected a violation.
stolen_cardCard was reported stolen.
Want to see what this looks like on your Stripe?
See which decline codes are hurting your Stripe right now — connect read-only and we'll break down the last 30 days of failures by code, customer, and recovery potential.