Authorize.Net · Decline codes
What does Authorize.Net E00040 “The record cannot be found” mean?
Checked
Authorize.Net E00040, "The record cannot be found", means the customer profile, payment profile or other record referenced in the request does not exist on this account. It may have been deleted, or the ID belongs to another account or environment. Charging a saved card will fail until a valid profile is used, so ask the customer to save their card again.
- Type
- Error (customer profiles)
- Who declined
- Authorize.Net's records
- Retry
- Only with a valid profile ID.
- Shopper action
- Re-enter card details if asked.
- Merchant action
- Check the profile IDs and ask the customer to re-save their card if it was deleted.
What PlatformDTC does
PlatformDTC skips an Authorize.Net renewal and asks the customer for a card when the subscription has no saved customer profile, instead of sending Authorize.Net a request bound to fail. If Authorize.Net answers E00040 because the saved profile was deleted, the renewal is not retried and the customer is emailed a link to add their card again.
Why it happens
Profile IDs are specific to one account and environment; deleted profiles cannot be charged.
What the store can do
Verify the profile exists in Customer Information Manager. If not, send the customer a link to add their card again.
For developers
messages.message[0].code "E00040". Check customerProfileId and paymentProfileId against the same merchantAuthentication.
Frequently asked questions
- Why does a saved card fail with Authorize.Net E00040?
- The profile it points to no longer exists on this account.
- Can E00040 come from mixing sandbox and live?
- Yes. Profile IDs from one environment do not exist in the other.
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
- E00039 — A customer profile with the same details already exists on the 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.
- 3 — The issuer wants a voice authorization (a phone call) before it will approve this charge.
- 4 — The processor reports the card must be picked up: the issuer wants it out of use.
- 41 — Your own FraudScreen.Net threshold blocked the payment because its fraud score was too high.