The honest answer is often "we won't say" (do_not_honor), but most codes carry a real instruction: fix the data, wait, ask the customer to call their bank, or never try this card again. Compiled from official Stripe, Adyen, Braintree, Square, and Visa documentation.
A decline is not an error
Payment failures come in three classes. An issuer decline means a real authorization request reached the customer's bank and the bank refused: that is what this page is about. A blocked payment never reached the bank; the processor's fraud tooling stopped it first, even though it can surface under the same decline codes. An invalid API call is an integration bug and has nothing to do with the card. On Flint, this split is structural: a declined card produces no error at all. The buyer sees the decline in checkout and can retry; your order simply stays open with paid_money at zero. See error handling for the full model.
Hard versus soft declines
A hard decline will not resolve on its own: the card is expired, closed, reported lost, or barred from this kind of transaction, and subsequent attempts with the same details will keep failing. A soft decline is temporary: not enough balance right now, issuer systems down, a velocity window that resets tomorrow. Visa formalizes this in four categories: category 1, "issuer will never approve" (never reattempt); category 2, "cannot approve at this time" (retry may succeed later); category 3, "cannot approve with these details" (fix the data, then retry); and category 4, everything generic. Each entry below carries its classification.
The network retry rules nobody reads
Retrying declines is not free. Visa permits reattempts of category 2, 3, and 4 declines up to 15 times in 30 days per card; category 1 declines must not be reattempted at all, and excess attempts draw per-transaction integrity fees. Mastercard pairs declines with merchant advice codes: MAC 01 means new account information exists, MAC 02 means try again later, and MAC 03 ("do not try again") and MAC 21 ("stop recurring payment") are absolute stops that incur fees when ignored. Beyond fees, blind retries burn your authorization-rate reputation with issuers, which quietly lowers your approval rate on everything. The practical policy: never reattempt the pickup, lost, stolen, closed-account, or R-series codes; cap everything else well below the network limit; and honor MAC stops absolutely.
