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 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

Related

Payments library