NewNo plan feeNo plan fee. Just 2.9% + $0.30 per card sale, and signing up is free.Try now →

Stripe · Decline codes

What does the Stripe invalid_expiry_year decline code mean?

Checked

Stripe's invalid_expiry_year decline code means the expiration year is invalid, and the customer needs to try again using the correct expiration date. Typical causes are a typo, a year already in the past, or a year from an old card stored in the browser. Entering the year exactly as printed on the card fixes it. If the card has been replaced, the customer should use the new card's details.

Type
Data error
Who declined
The card's bank
Retry
Yes, with the correct expiry date
Shopper action
Re-enter the expiry year from the card
Merchant action
Let the shopper correct the date

What PlatformDTC does

At checkout PlatformDTC adds "The card's expiration year is invalid." and keeps the payment off backup processors, since a wrong date fails everywhere. On renewals, on the default fixed schedule and with Smart retry alike, it is never retried automatically. The subscription is held past due instead of cancelled, the card is marked blocked, and the customer is emailed a one-click link to add a new card, re-sent up to 4 times per billing cycle at least 3 days apart.

Why it happens

The year typed doesn't match the card, or is not a valid year for it.

What the shopper can do

Check the date on the front of the card and re-enter the year.

What the store can do

Let the shopper correct the field. For subscription renewals, ask for updated card details instead of retrying.

Frequently asked questions

Why does my card say the expiry year is invalid?
The year entered doesn't match what the bank expects for the card. Re-type it from the card, or use your replacement card.
Does invalid_expiry_year mean the card has expired?
Not necessarily. That would be expired_card. This code is about the year entered being invalid.

Sources

Related

Payments library