Decline code · Hard decline
Decline code 54: Expired Card
The card's expiration date has passed, or the expiry sent with the transaction does not match issuer records. The account usually still exists and a renewal card is typically already in the customer's hands or mail. The credentials you have are stale rather than the customer being gone.
Should you retry?
Retrying with the same expired date is futile; the comparison that failed is deterministic. Updated credentials, from the customer or from account updater, can be submitted immediately. Visa categorizes this as a data-quality decline requiring corrected information before any reattempt.
Why code 54 happens
- The card genuinely reached its expiration date and the stored credential was never refreshed.
- The customer typed the expiration date incorrectly at checkout.
- Your vault holds the old expiry after the issuer renewed the card with the same number but a new date.
- A fraudster has a card number without knowing its real expiration and is guessing dates.
What to do about it
- In real-time checkout, ask the customer to re-check the expiration date and re-enter it, since typos are common.
- For stored cards, run account updater to pull the renewed expiry; issuers frequently keep the same PAN and only advance the date.
- Prompt subscribers to update payment details in the month before their stored expiry passes rather than after failures begin.
- Watch for many 54 responses paired with the same PAN and varying dates, which indicates expiry-guessing on a compromised number.
Frequently asked questions
- Can I still charge a card that returned expired card code 54?
- Not with the credentials you have. But issuers usually renew cards keeping the same number, so an account updater query or the customer re-entering the new date restores billing, often within minutes.
- Why did code 54 appear when the customer's card is not expired?
- Either the date was mistyped at checkout or your stored record carries an old expiry from before the card was renewed. Verify what expiration your system actually sent versus what is printed on the customer's current card.
Related decline codes