Hard declineCard details

Stripe decline code

invalid_expiry_year

The expiration year on the card is invalid.

Quick answer

invalid_expiry_year is a hard decline. Retrying will keep failing; the customer has to act.

Decline codeinvalid_expiry_year
TypeHard (needs customer action)
Retrying helps?No
CategoryCard details
Customer fixRe-enter the correct expiry date.

Will retrying help?

No, retrying will keep failing

Send the customer to a card update form to correct the expiry.

A real example

The stored expiry year is wrong, so the issuer rejects the charge.

What the customer needs to do

Re-enter the correct expiry date.

Your recovery approach

Send the customer to a card update form to correct the expiry.

Copy-paste recovery email

Subject

Your payment didn't go through, [First Name]

A detail on your saved card did not match, so the charge for [Product] was declined.

Re-enter your card details and we will retry right away.

Update card details

Recover invalid_expiry_year declines on autopilot

SubRevival reads every decline code and responds correctly, retrying soft declines on smart timing and emailing customers for hard ones, with a hosted card update page. $19/mo flat.

FAQ

What does the Stripe "invalid_expiry_year" decline code mean?

The expiration year on the card is invalid.

Will retrying a "invalid_expiry_year" decline work?

No. invalid_expiry_year is a hard decline, so retrying the same card will keep failing. Send the customer to a card update form to correct the expiry.

How do I recover a payment that failed with "invalid_expiry_year"?

Send the customer to a card update form to correct the expiry. Customer action: Re-enter the correct expiry date.

Related decline codes

Source: official Stripe decline codes documentation. Recovery guidance is SubRevival's own.