Input error · recoverable

invalid_expiry_year

Expiry year is in the past or wrongly formatted.

What just happened

Customer entered a year that's already expired or out of range.

Retry strategy

Re-prompt with correct year. If recurring, email update-card link.

What to tell the customer

Your card expiry year is in the past or invalid. Please update your card.

Recommended action

Validate year on form. For recurring, treat like expired_card.

Want to see what this looks like on your Stripe?

See how often "invalid_expiry_year" hits your Stripe account in the last 30 days — and how much MRR is at risk because of it.

Run free audit

Related codes

Frequently asked questions

Is "invalid_expiry_year" a soft or hard decline?+
It's classified as a input error: Wrong number, expiry, or CVC. Customer needs to re-enter card details.
Should I retry a "invalid_expiry_year" decline?+
Re-prompt with correct year. If recurring, email update-card link.
What should I tell my customer when this happens?+
Your card expiry year is in the past or invalid. Please update your card.
How do I prevent this decline going forward?+
Validate year on form. For recurring, treat like expired_card.
Does Rechurn handle this decline code automatically?+
Yes. Rechurn classifies "invalid_expiry_year" and runs the optimal retry cadence with a personalized email sequence. Run a free audit to see how many of your failed charges are this code.