DEV Community

Swipe Again for Swipe Again

Posted on

Decline Codes Are a Taxonomy, Not a List

There are hundreds of decline codes and reason strings across issuers and platforms, and treating them as a list — one rule per code — collapses the moment a platform renames one. The codes that matter fall into four families, and the family dictates the response. Everything else is translation.

Family one: never. Stolen cards, closed accounts, invalid numbers, do-not-honor. The correct action is stopping, immediately and permanently; every further attempt is fees plus issuer distrust. Family two: the customer must act. Expired cards, authentication required, a card that needs replacing. Retries are useless until the human moves, so the system's job is the ask — a branded message and a one-step card-update link. Family three: the calendar decides. Insufficient funds above all; the money arrives on payday, so the schedule stretches toward it. Family four: transient soft declines, where a widening schedule of re-attempts does the work.

Swipe Again classifies every incoming failure into its family before any plan is built, per platform, because the same raw code can mean different things on different rails. The taxonomy is the product's real source code: get the family wrong and no schedule downstream can save you; get it right and the schedules mostly write themselves. The full map shows up in the recovery flow — four families, four responses, zero improvisation with other people's money.

Top comments (0)