← All Stripe decline codes

Stripe decline code

invalid_expiry_month

The expiration month submitted is not a valid value (not between 1 and 12).

Type

Hard decline

Recoverable

Partially recoverable

Frequency

Rare

What does invalid_expiry_month mean?

invalid_expiry_month is almost always a data entry bug or a malformed API request. It is not a customer-facing error in most cases; it points to a bug in your checkout form or an API integration that sent a bad value.

Recovery strategy

Retry approach

Do not retry. Investigate your integration first, then request re-entry from the customer if needed.

Customer message

If this reaches the customer, apologize for the technical issue and ask them to re-enter their card.

Best practices

  • Use Stripe Elements to avoid formatting bugs entirely
  • Never build a custom card form unless you are PCI-DSS SAQ-D compliant

About hard declines

Permanent issue. The card cannot be charged. Customer must provide a new payment method.

Frequently asked questions

What values are valid for expiry month?

Integers 1 through 12. Some APIs accept zero-padded strings like "01" through "12".

How Rebounce handles invalid_expiry_month

Automatic hard decline handling, no code required

Rebounce classifies every failed payment by its Stripe decline code and applies the optimal recovery strategy automatically. For invalid_expiry_month, that means a limited retry window combined with customer outreach. Multi-channel follow-up through email, SMS, WhatsApp, and in-app banners ensures the customer actually sees the message.

Start free trial