Expired Card
Decline code:expired_card
Error type: card_error
HTTP status: 201 Created (payment status becomes failed asynchronously)
What it means
The card used for the payment has passed its expiration date. The issuing bank rejected the transaction because the card is no longer valid.Why it happens
- The card’s expiration month/year has passed (e.g., a card with
exp_month: 03, exp_year: 2025used after March 2025). - The customer may not have received or activated their replacement card yet.
- The customer may be using saved card details that are outdated.
API response
The payment is created withstatus: "pending". After processing, it transitions to failed with decline details:
What to tell the customer
Your card has expired. Please update your card details or use a different payment method.This message can be direct since expired cards are not sensitive or embarrassing — it is a routine issue that customers understand.
What the merchant should do
- Show a clear message indicating the card has expired.
- Highlight the expiration date fields in your payment form if possible, so the customer can verify their input.
- Allow the customer to update their card or enter a different one.
- Do not retry — an expired card will not start working again. The customer needs to take action.
- If you store cards on file, proactively notify customers before their saved cards expire so they can update them.
- Consider pre-validating the expiration date client-side before sending the request to the API.
Testing
Use this test card number to simulate anexpired_card decline: