NewNo plan feeNo plan fee. Just 2.9% + $0.30 per card sale, and signing up is free.Try now →

Decline codes

Authorize.Net response reason codes explained

Checked

Authorize.Net returns a response code (1 approved, 2 declined, 3 error, 4 held for review) and a response reason code that says why. Some reasons are the shopper's bank declining, some are your own fraud filters, and many are setup or integration errors no shopper can fix. Each page below explains one reason code in plain words, whether a retry can work, and what PlatformDTC does when it sees that code on a store's own Authorize.Net account.

Reason codeMeaning
2The card issuer, or the processor on its behalf, refused the payment without a specific reason.
3The issuer wants a voice authorization (a phone call) before it will approve this charge.
4The processor reports the card must be picked up: the issuer wants it out of use.
41Your own FraudScreen.Net threshold blocked the payment because its fraud score was too high.
141FraudScreen.Net rejected the payment, but the automatic void of the authorization did not go through.
44The processor declined because the card's security code (CVV) did not match the bank's records.
45Both the address check and the security code check hit the rejection rules you set.
145Your AVS and card code filters rejected the sale, but the automatic void of the authorization failed.
65Your card code (CVV) filter rejected the payment based on the security code result.
165A security code mismatch hit your settings and the automatic void of the authorization failed.
27The billing address entered does not match the address the card's bank has on file.
127An AVS mismatch declined the sale and the automatic void failed, so a hold may stay on the card.
128The shopper's bank does not currently allow transactions on this account.
250The payment came from an IP address you blocked in Authorize.Net's fraud tools.
251A Fraud Detection Suite filter declined the payment, including the blocked-IP filter.
252The payment was accepted but is held for your review by a fraud filter set to hold.
253The card was authorized, but a fraud filter is holding the payment for your review.
254You or your team declined the payment after reviewing a held transaction.
295The prepaid card only covered part of the amount; another payment is needed for the rest.
36The bank approved the card at checkout, but the payment failed when it was settled.
6The card number failed validation: a typo, a missing digit, or not a real card number.
37The card number was rejected as invalid (same text as code 6).
315The processor declined the card number as invalid.
7The expiry date was sent in the wrong format or is not a valid date.
316The processor rejected the card's expiry date as invalid.
8The card's expiry date has passed, so it can no longer be charged.
317The processor declined because the card has expired.
78The security code (CVV) sent was in the wrong format, for example the wrong number of digits.
11An identical transaction was sent within the duplicate window (two minutes by default).
318The processor rejected the request as a duplicate of an earlier transaction.
17Your Authorize.Net gateway is not set up to accept this card brand.
28Your processor platform is not set up to accept this card brand.
56The account only processes eChecks, so card payments are refused.
39The currency sent is not the one your Authorize.Net account is set up for.
49The amount is above the maximum transaction amount allowed on your account.
5The amount field was missing or not a valid number.
13The API Login ID is wrong, sent to the wrong environment, or the account is inactive.
123A personal user login was used to connect software; it needs the API Login ID instead.
124Your processor does not support transactions flagged as recurring.
153The wallet payment data (such as Apple Pay) could not be processed as sent.
154Apple Pay is not switched on for this Authorize.Net account.
289Your processor will not run a $0 card check for this card brand.
19Authorize.Net did not get an answer from the card processor (a connection problem).
20Authorize.Net lost contact with the card processor before getting a response.
35Your merchant account was set up incorrectly at the processor.
57The processor could not interpret data in the request, such as a bad CVV length or ZIP format.
63Often your business details (such as country) are wrong for a TSYS processor account.
120The original transaction timed out and the automatic void of it also failed.
16The transaction ID you referenced (for a refund or void) is not on this Authorize.Net account.
50You can only refund a settled transaction; this one has not settled yet.
54The refund can't be issued: unsettled, wrong type or currency, bad ID, or settled over 180 days ago.
55This refund plus earlier refunds would be more than the original payment.
E00027The API reports the transaction failed; the real reason is in the transaction's errorCode.
E00007The API Login ID or Transaction Key is wrong, or sent to the wrong environment.
E00001Authorize.Net hit an internal error; the request was not completed.
E00003The request sent to the API was malformed, so Authorize.Net could not read it.
E00013One field in the request has an invalid value; the response text names it.
E00039A customer profile with the same details already exists on the account.
E00040The customer or payment profile you referenced does not exist on this account.
E00044Saved customer profiles (CIM) are not switched on for this account.
E00009The account is in Test Mode, so the request is not processed.

Bank declines, your filters, or setup errors

Codes 2, 3, 4 and 128 come from the card's bank. Codes 27, 41, 44, 45, 65 and 250 to 254 involve address checks, security code checks or fraud filters, several of which you configure yourself in the Merchant Interface.

Codes such as 13, 17, 28, 35, 39 and 63 are account setup problems; every shopper will hit them until the setup is fixed. Codes 19, 20 and E00001 are temporary processing errors.

Retry rules

Card networks limit retries. Visa never allows a reattempt on its "issuer will not approve" responses (such as pick up card, closed account or stop payment) and caps other declines at 15 reattempts in 30 days. Mastercard advice codes 03 and 21 mean do not try again.

On subscription renewals PlatformDTC reads the reason code the same way it reads a Stripe decline: expired, wrong or blocked cards (such as 4, 6, 7, 8, 27, 44, 251 and 317) are not retried and the customer is asked for a new card; a general decline (2) or referral (3) gets one retry 48 to 72 hours later; temporary processing errors are deferred and retried without counting against the customer.

For developers

The overall result is transactionResponse.responseCode (1 Approved, 2 Declined, 3 Error, 4 Held for Review). The reason code is transactionResponse.errors[0].errorCode with errorText; API-level results use messages.message[0].code (I000xx success, E000xx error).

Frequently asked questions

What is the difference between Authorize.Net response codes and reason codes?
The response code is the overall result (1 approved, 2 declined, 3 error, 4 held for review); the response reason code explains why.
Does PlatformDTC work with Authorize.Net?
Yes. A store can connect its own Authorize.Net account for checkout and subscription renewals; card details go through Authorize.Net's Accept.js, so card numbers never touch PlatformDTC's servers.

Sources

Payments library