Expired card expired_card
What this decline means
The card on file is past the expiration date printed on it. The issuer will refuse every charge against it, forever — this failure cannot age back into working.
Why it happens on subscription renewals
- Cards expire every few years and the subscription simply outlived the plastic — the longer a subscriber stays, the more certain this becomes.
- The customer already has the replacement card in their wallet — same number, new expiry — but nothing prompted them to update the store's saved copy.
The merchant playbook
- Stop retrying. Every automatic attempt against an expired card is a guaranteed failure that costs goodwill and, in volume, looks bad to payment networks.
- Send the card-update request the day the failure happens — the customer's intent to stay is highest right then, and the fix takes them under a minute.
- Better: catch it before it fails. Expiry month and year are visible on the stored payment method in advance — a store that scans upcoming expiries can ask for the update a month early and never lose the renewal at all.
- If your subscription app pauses (rather than cancels) on exhausted retries, an expired-card subscriber remains recoverable for weeks — keep the update link alive in follow-ups.
Should you retry?
Never. No retry schedule recovers an expired card. The card-update email is the entire playbook — send it early and make it effortless.
Common questions
Can a retry ever succeed against an expired card?
No. Unlike balance-related declines, expiry is checked against the card data itself, so the answer never changes. Recovery requires the customer saving new card details.
Can expired-card failures be prevented?
Largely, yes — it's the one decline you can see coming. Stored payment methods expose their expiry month and year, so upcoming expiries can be flagged and fixed before the renewal date.
Related codes: invalid_payment_method · incorrect_number · payment_method_declined · or see the
full decline-code guide.
Where Moorly fits: Moorly reads the decline reason behind every failed renewal in your existing subscription app and applies the playbook above automatically — the right treatment per code, with a dollar figure on what each failure family costs your store. It starts read-only. Join the early-access list →
Moorly is an independent product by Velun Labs and is not affiliated with Shopify, Appstle Inc., or Seal Subscriptions s.r.o. Code names follow Shopify's public API documentation as of August 2026; bank behavior varies by issuer — always confirm against your own admin.