Skip to the tool
MoveAheadPayments Toolbox

Stripe decline code: expired_card

Stripe's wording: "The card has expired." The documented next step is short — the customer needs to use another card. No retry of the same details will succeed.

expired_cardHard decline

Retrying the same request will fail the same way.

What it means

The expiry date on the card has passed. `expired_card` appears in both of Stripe's tables: as a decline code with the description above, and as an error code with the fuller "The card has expired. Check the expiry date or use a different card." It also appears among the local payment method decline codes, where the charge outcome reason is `partner_expired_card` and it means the card registered with a wallet or provider has expired rather than one you hold directly.

Common causes

  • The card genuinely expired and has been replaced with a new one.
  • A stored PaymentMethod holding an expiry that was never refreshed after reissue.
  • The expiry entered wrongly at checkout — a transposed month and year will fail even on a valid card.
  • For a wallet or local payment method, the underlying card registered with the provider has expired.

How to fix it

  1. Ask the customer for current card details, which is Stripe's documented step.
  2. Enable the card account updater on your Stripe account so reissued cards refresh automatically before a subscription charge fails.
  3. Validate the expiry client-side before submitting. An obviously past date does not need a network round trip to reject.
  4. For subscriptions, watch the `customer.source.expiring` webhook and prompt for new details ahead of the failure rather than after it.

Tools that help

Frequently asked questions

Can I avoid expired-card failures on subscriptions?
Largely, yes. Stripe's card account updater refreshes reissued card details automatically for participating issuers, and the `customer.source.expiring` webhook fires ahead of the expiry so you can ask the customer before a charge fails. Both are considerably cheaper than recovering a lapsed subscription afterwards.