Stripe · Decline codes
What does the Stripe invalid_expiry_month decline code mean?
Checked
Stripe's invalid_expiry_month decline code means the expiration month is invalid, and the customer needs to try again using the correct expiration date. It is usually a typing slip, such as the month and year swapped or a month that doesn't match the card. Re-entering the date exactly as printed on the card (MM/YY) fixes it. If the card has been replaced, the new card's date is needed.
- Type
- Data error
- Who declined
- The card's bank
- Retry
- Yes, with the correct expiry date
- Shopper action
- Re-enter the expiry month from the card
- Merchant action
- Let the shopper correct the date
What PlatformDTC does
At checkout PlatformDTC adds "The card's expiration month is invalid." and does not offer a backup processor, since the date has to be corrected. 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 month entered doesn't match the card, or is not a valid month. Old saved cards can carry a date from a previous card.
What the shopper can do
Check the expiry date printed on the card and type the month again.
What the store can do
Make the expiry field clear about the format. For renewals, send the customer an update-card link.
Frequently asked questions
- Is invalid_expiry_month the same as expired_card?
- No. expired_card means the card's date has passed; invalid_expiry_month means the month entered is not valid.
- Will a retry fix it?
- Yes, once the correct expiry date is entered.
Sources
- Stripe decline codes — Stripe
Related
- invalid_expiry_year — The card's expiry year 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.