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

Authorize.Net · Decline codes

What does Authorize.Net E00027 “The transaction was unsuccessful” mean?

Checked

Authorize.Net E00027, "The transaction was unsuccessful", is an API-level message, not the reason itself. Authorize.Net says to check the errorCode field in the response: that holds the response reason code, such as 2 for a decline or 27 for an AVS mismatch. It can also appear on HSBC or FDI Australia when validationMode is liveMode, since they do not support authorization reversals.

Type
API result (see reason code)
Who declined
Depends on the reason code inside
Retry
Depends on the errorCode in the transaction response.
Shopper action
Follow the reason shown, usually try another card.
Merchant action
Read transactionResponse.errors for the specific reason code.

What PlatformDTC does

PlatformDTC reads past E00027 to the transaction's own errorCode and acts on that: it shows the shopper Authorize.Net's error text and uses the reason code to decide whether a backup processor may be offered.

Why it happens

Authorize.Net returns E00027 in messages whenever a transaction request does not succeed. The detail lives in transactionResponse.errors.

What the store can do

Look up the errorCode that came with E00027 in this library. For customer profile validation errors on HSBC or FDI Australia, Authorize.Net recommends validationMode testMode.

For developers

messages.resultCode "Error", messages.message[0].code "E00027"; transactionResponse.errors[0].errorCode / errorText carry the reason.

Frequently asked questions

What does Authorize.Net E00027 actually mean?
That the transaction failed; the specific reason is the errorCode in the transaction response.
Why do I get E00027 when creating customer profiles?
On HSBC or FDI Australia, liveMode validation fails because those processors do not support authorization reversals; Authorize.Net recommends testMode.

Sources

Related

Payments library