Authorize.Net · Decline codes
What does Authorize.Net E00003 “An error occurred while parsing the XML request” mean?
Checked
Authorize.Net E00003, "An error occurred while parsing the XML request", means the API request body could not be parsed: a field is out of order, misspelled, has an invalid value, or the document is malformed. The card was never looked at. The fix is in the integration, by checking the request against Authorize.Net's API schema.
- Type
- Error (integration)
- Who declined
- The store's integration
- Retry
- Only after the request is fixed.
- Shopper action
- Nothing; contact the store if checkout keeps failing.
- Merchant action
- Have your developer validate the request against Authorize.Net's schema.
What PlatformDTC does
PlatformDTC builds its Authorize.Net requests from typed structures that follow Authorize.Net's published schema; if E00003 ever came back, the shopper would see Authorize.Net's own sentence rather than a claim that their card failed.
Why it happens
Authorize.Net validates each request against its schema; elements must appear in the documented order with valid values.
What the store can do
Ask your developer or platform provider; there is nothing to change in the Merchant Interface.
For developers
messages.message[0].code "E00003". Authorize.Net translates JSON to XML, and XML requires strict element order, so JSON requests must follow the element order in the API reference.
Frequently asked questions
- Does Authorize.Net E00003 affect JSON requests too?
- Yes. Authorize.Net translates JSON elements to XML, which requires strict ordering, so JSON must follow the API reference's element order.
- Can a shopper cause Authorize.Net E00003?
- Rarely; it means the store's integration sent a malformed request.
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
- E00013 — One field in the request has an invalid value; the response text names it.
- E00001 — Authorize.Net hit an internal error; the request was not completed.
- E00039 — A customer profile with the same details already exists on the account.
- E00040 — The customer or payment profile you referenced does not exist on this account.
- E00044 — Saved customer profiles (CIM) are not switched on for this account.
- E00009 — The account is in Test Mode, so the request is not processed.
- 2 — The card issuer, or the processor on its behalf, refused the payment without a specific reason.