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
- Stripe decline codes — Stripe
Related
- invalid_expiry_month — The card's expiry month is invalid.
- expired_card — The card is past its expiry date.
- incorrect_number — The card number entered is wrong.
- invalid_number — The card number is incorrect.
- invalid_pin — The PIN entered is incorrect.
- issuer_not_available — The card's bank could not be reached, so the payment was never authorized.
- lost_card — The card has been reported lost. It can't be used; the shopper needs another card.
- merchant_blacklist — The payment matched an entry on the store's own Stripe block list.