Card decline code

invalid_expiry_year: Invalid expiry year

The expiry year entered for the card is invalid. The customer needs to correct the expiry date.

Decline type
Needs the customer: contact the bank or confirm details
Retry?
Only with the correct date
Who must act
The customer

What invalid_expiry_year means

invalid_expiry_year means the year part of the expiry date was not accepted.

Should you retry the payment?

Ask the customer to re-enter the card.

How to recover a subscription payment declined with invalid_expiry_year

  1. Email the customer a link to re-enter their card details on your billing page.
  2. Do not retry the stored card: the same data will be declined again.
  3. Once the details are corrected, collect the open invoice immediately.

What to tell the customer

Ask them to check and re-enter the expiry date.

"Hi Sam, the expiry year on your card wasn't accepted. Please re-enter your card details here."

More wording for every situation is in our dunning email templates.

How Revnio handles invalid_expiry_year

Revnio records invalid_expiry_year on the failed payment, follows your retry schedule (by default 1, 3, 5 and 7 days, adjusted for the customer's value and plan, and moved to weekday business hours), and emails the customer a secure link to pay or update their card. WhatsApp (Pro plan) reminders follow if the email is not clicked. The Insights page shows how often each decline code recovers for you. On Paddle, Paddle runs the payment retries itself and Revnio handles the customer outreach.

Decline codes are returned by the card issuer through your payment processor. Code names here follow Stripe's; Chargebee and Paddle surface the same issuer reasons with their own wording. Last reviewed 2026-10-15.

Frequently asked questions

What does decline code invalid_expiry_year mean?

The expiry year entered for the card is invalid. The customer needs to correct the expiry date.

Should I retry a payment declined with invalid_expiry_year?

Only with the correct date. Ask the customer to re-enter the card.

Can Revnio recover payments declined with invalid_expiry_year?

Revnio picks up the failed payment from Stripe, Chargebee or Paddle, adjusts retry timing to the decline code, and reaches the customer by email and WhatsApp (SMS is coming soon) with a secure link to pay or update their card.

Recover failed payments on autopilot

Revnio retries failed payments at the right time and reaches customers by email and WhatsApp until the card is fixed. Works with Stripe, Chargebee and Paddle.

Related