Decline code 54: Expired Card
Quick answer
Decline code 54 — “Expired Card” — means the card number is valid but its expiration date has passed, so the issuer won’t authorize the charge. Under ISO 8583 it’s a hard decline: retrying the same card can’t succeed. Stripe reports it as expired_card and NMI as response code 223. Recover it by pulling the new expiry through a card account updater, or by prompting the cardholder to update their card on file.
What code 54 means
Retrying the same card never clears a 54 — the expiry date has passed. Recovery requires the updated card, ideally pulled automatically via a card account updater before the charge even fails.
Cross-processor equivalents
The same issuer decision surfaces under a different code on every processor. Here is how code 54 maps across the stacks Revatto recovers on.
Why it happens
- The card reached its printed expiration date and the issuer reissued a new one.
- The cardholder received a replacement card (new expiry, sometimes a new number) and didn’t update it on file.
- A stored card-on-file that wasn’t refreshed through an account updater service.
How to recover it
- 1Enroll recurring cards in a Visa/Mastercard account updater so new expiry dates flow in automatically — clearing many 54s before they ever fire.
- 2When a 54 still fires, prompt the customer to update their card with a single, low-friction link.
- 3Use the existing relationship: a brief “your card on file expired” note recovers most of these.
- 4For the stragglers, a real person captures the new card directly. Revatto handles the whole sequence for you, done-for-you — AI plus a human team working email and SMS — and you only pay if the payment is recovered.See how Revatto recovers 54declines →
See what Revatto would recover for you
Failed payments recovered automatically — no engineering, no manual chasing. We do the work; you keep the revenue.