Authorize.Net · Decline codes
What does Authorize.Net 7 “Credit card expiration date is invalid” mean?
Checked
Authorize.Net response reason code 7, "Credit card expiration date is invalid", means the format of the expiration date submitted was incorrect. It is a data problem rather than a bank decline. The shopper should re-enter the month and year exactly as printed on the card; if it keeps happening across shoppers, your checkout may be sending the date in a format Authorize.Net does not accept.
- Type
- Hard decline for these details
- Who declined
- Authorize.Net's validation
- Retry
- Only with a correctly formatted expiry date.
- Shopper action
- Re-enter the expiry month and year from the card.
- Merchant action
- Check the date format your checkout sends.
What PlatformDTC does
PlatformDTC classes Authorize.Net code 7 as never-retry on the same details; because its checkout tokenizes the card with Accept.js, the expiry date is captured by Authorize.Net's own script, not reformatted by PlatformDTC. On a subscription renewal the code is not retried: the subscription is held past due and the customer gets an email with a link to add a new card.
Why it happens
Authorize.Net's note for code 7: "The format of the date submitted was incorrect." A swapped month and year, a two-digit year where four were expected, or an empty field can all cause it.
What the shopper can do
Enter the expiry as month and year from the front of the card.
What the store can do
If you build the request yourself, Authorize.Net's API reference asks for expirationDate as a 7-character year and month, YYYY-MM.
For developers
errors[0].errorCode "7"; 316 is the processor-issued version. An expired-but-valid date returns 8, not 7.
Frequently asked questions
- Is Authorize.Net code 7 the same as an expired card?
- No. Code 7 is a badly formatted date; an expired card returns code 8.
- How do I fix Authorize.Net code 7?
- Re-enter the expiry date, and check that your integration sends it in an accepted format.
Sources
- Authorize.Net Response Code Tool (response reason codes) — Authorize.Net
- Authorize.Net response codes (JSON list behind the Response Code Tool) — Authorize.Net
- Authorize.Net API reference: createTransactionResponse fields — Authorize.Net
Related
- 8 — The card's expiry date has passed, so it can no longer be charged.
- 316 — The processor rejected the card's expiry date as invalid.
- 6 — The card number failed validation: a typo, a missing digit, or not a real card number.
- 317 — The processor declined because the card has expired.
- 78 — The security code (CVV) sent was in the wrong format, for example the wrong number of digits.
- 11 — An identical transaction was sent within the duplicate window (two minutes by default).
- 318 — The processor rejected the request as a duplicate of an earlier transaction.