Authorize.Net · Decline codes
What does Authorize.Net 120 “An error occurred during processing. Please try again (void after timeout failed)” mean?
Checked
Authorize.Net response reason code 120 means the system-generated void for an original timed-out transaction failed: the first transaction timed out waiting for the authorizer, and Authorize.Net could not void it afterwards. An authorization may therefore sit on the shopper's card. Check for it before retrying, so the shopper does not end up with two holds.
- Type
- Processing error (temporary)
- Who declined
- The authorizer and Authorize.Net
- Retry
- Check for an authorization on the card before retrying.
- Shopper action
- Check for a pending charge before paying again.
- Merchant action
- Look for a lingering authorization and release it if needed.
What PlatformDTC does
PlatformDTC classes Authorize.Net code 120 as a gateway fault: on a subscription renewal it defers the charge without using a dunning step or emailing the customer that the payment failed.
Why it happens
Authorize.Net's note: "The original transaction timed out while waiting for a response from the authorizer." The void meant to clean up after it then failed.
What the shopper can do
Look in your banking app for a pending amount before paying again; it should drop off or be reversed.
What the store can do
If a hold remains, contact your merchant service provider or ask the issuer to release the authorization.
For developers
errors[0].errorCode "120". Codes 121 (database error) and 122 (processing error) are the same failed-void situation for other causes.
Frequently asked questions
- Is the shopper charged after Authorize.Net code 120?
- No sale completed, but an authorization from the timed-out attempt may still show until it is released.
- How do codes 120, 121 and 122 differ?
- All are failed system voids; Authorize.Net lists a timeout for 120, a database error for 121 and a processing error for 122.
Sources
- Authorize.Net Response Code Tool (response reason codes) — Authorize.Net
- Authorize.Net response codes (JSON list behind the Response Code Tool) — Authorize.Net
Related
- 19 — Authorize.Net did not get an answer from the card processor (a connection problem).
- 36 — The bank approved the card at checkout, but the payment failed when it was settled.
- 16 — The transaction ID you referenced (for a refund or void) is not on this Authorize.Net account.
- 50 — You can only refund a settled transaction; this one has not settled yet.
- 54 — The refund can't be issued: unsettled, wrong type or currency, bad ID, or settled over 180 days ago.
- 55 — This refund plus earlier refunds would be more than the original payment.
- E00027 — The API reports the transaction failed; the real reason is in the transaction's errorCode.
- E00007 — The API Login ID or Transaction Key is wrong, or sent to the wrong environment.