Authorize.Net · Decline codes
What does Authorize.Net E00039 “A duplicate record already exists” mean?
Checked
Authorize.Net E00039, "A duplicate record already exists", is returned when you try to create a customer profile or payment profile that matches one already stored. Authorize.Net checks for duplicates by its customer profile rules. Look up and reuse the existing profile rather than creating another; the error message typically includes the ID of the record that already exists.
- Type
- Error (customer profiles)
- Who declined
- Authorize.Net's duplicate profile check
- Retry
- Use the existing profile instead.
- Shopper action
- Nothing; the store handles saved cards.
- Merchant action
- Look up the existing profile and reuse it.
What PlatformDTC does
PlatformDTC creates the Authorize.Net customer profile from the subscriber's approved first charge and stores the returned profile IDs from Authorize.Net's server response, so renewals reuse that profile rather than creating new ones.
Why it happens
Customer profiles are checked for duplicates when created, for example on the same customer ID or email.
What the store can do
Search Customer Information Manager for the customer, then charge or update the existing profile.
For developers
messages.message[0].code "E00039". See Authorize.Net's Customer Profiles documentation on duplicate profile verification.
Frequently asked questions
- How do I avoid Authorize.Net E00039?
- Look up an existing profile before creating one, and reuse it.
- Does E00039 stop the payment?
- It stops the profile creation; the charge itself depends on how your request was built.
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
- 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.
- 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.