Core Concepts

Decline Codes

Savby maps every Stripe decline code to a precise recovery strategy. Below is the complete reference for all 22+ supported codes, grouped by the action Savby takes.

Retriable

Savby schedules automatic charge retries at optimal intervals.

CodeDescriptionDefault schedule
insufficient_fundsCard holder doesn't have enough funds to cover the charge.24 h → 72 h → 7 d
card_declinedGeneric decline — the issuer didn't provide a reason.4 h → 8 h → 24 h
processing_errorAn error occurred while processing the card.1 h → 2 h → 24 h
do_not_honorIssuer generic decline, often temporary.24 h → 48 h → 24 h
try_again_laterIssuer is temporarily blocking the transaction.6 h → 12 h → 24 h
service_not_allowedService type is blocked for this card.48 h → 72 h → 24 h
transaction_not_allowedTransaction type not permitted for this card.24 h → 48 h → 24 h
Notify only

Retrying will not help — the customer must update their payment method.

CodeDescriptionAction
expired_cardThe card has passed its expiry date.Email customer with payment update link
incorrect_cvcThe CVC code does not match.Email customer with payment update link
incorrect_zipZIP code verification failed.Email customer with payment update link
incorrect_numberThe card number is incorrect.Email customer with payment update link
invalid_cvcThe CVC code is not valid.Email customer with payment update link
invalid_expiry_monthThe expiry month is invalid.Email customer with payment update link
invalid_expiry_yearThe expiry year is invalid.Email customer with payment update link
card_not_supportedThe card doesn't support this type of purchase.Email customer with payment update link
currency_not_supportedThe card doesn't support the payment currency.Email customer with payment update link
Manual follow-up

High-risk codes where automated recovery is inappropriate.

CodeDescriptionAction
lost_cardThe card has been reported lost.Flag for manual follow-up
stolen_cardThe card has been reported stolen.Flag for manual follow-up
pickup_cardThe issuer is requesting the card be retrieved.Flag for manual follow-up
restricted_cardThe card has been restricted by the issuer.Flag for manual follow-up
fraudulentTransaction suspected of fraud.Flag for manual follow-up
blockedTransaction blocked for compliance reasons.Flag for manual follow-up

Unknown decline codes

If Stripe returns a decline code that is not in Savby's mapping table, Savby falls back to a safe 24-hour retry. This ensures no payment failure is silently ignored.