Automated Recurring Billing (ARB) and Customer Information Manager (CIM) use similar Application Programming Interfaces (APIs) and share many of the same errors. The following is a listing of common ARB and CIM issues you may encounter, and how each error should be resolved.
E00003 – An error occurred while parsing the XML request.
An E00003 response usually means the XML submitted doesn't meet the schema specifications for ARB or CIM. You or your developer should review the XML data that they are generating and submitting. First, confirm that the XML is well-formed, by loading the XML data into Internet Explorer and seeing if Internet Explorer's XML parser can read the data.
If the XML is well-formed, check to see that the data elements are in the right order, as many data types in the ARB/CIM schema, such as creditCardType
, must be in the correct order. If they are not, E00003 may occur. The order is described within the schema, and the API documentation lists the elements in the order expected.
This error may also occur if the name of an element is misspelled.
E00007 – User authentication failed due to invalid authentication values.
This error occurs when the API environment doesn't recognize the API Login ID and Transaction Key submitted. There are three possible causes of this error:
- Posting a live account's API Login ID and Transaction Key to the test environment at https://apitest.authorize.net/xml/v1/request.api -- For live accounts, please post to https://api.authorize.net/xml/v1/request.api instead.
- Posting a test account's API Login ID and Transaction Key to the live environment at https://api.authorize.net/xml/v1/request.api -- For test accounts, please post to https://apitest.authorize.net/xml/v1/request.api instead.
- The API Login ID or Transaction Key have errors.
E00012 – A duplicate subscription already exists. (ARB only)
The ARB system checks a new subscription for duplicates, using these fields:
subscription.article.merchantID
subscription.article.customerInfo.payment.creditCard.cardNumber
subscription.article.customerInfo.payment.eCheck.routingNumber
subscription.article.customerInfo.payment.eCheck.accountNumber
subscription.article.customerInfo.customerID
subscription.article.customerInfo.billingInfo.billToAddress.firstName
subscription.article.customerInfo.billingInfo.billToAddress.lastName
subscription.article.customerInfo.billingInfo.billToAddress.company
subscription.article.customerInfo.billingInfo.billToAddress.streetAddress
subscription.article.customerInfo.billingInfo.billToAddress.city
subscription.article.customerInfo.billingInfo.billToAddress.stateProv
subscription.article.customerInfo.billingInfo.billToAddress.zip
subscription.orderInfo.amount
subscription.orderInfo.invoice
subscription.recurrence.startDate
subscription.recurrence.interval
subscription.recurrence.unit
If all of these fields are duplicated in an existing subscription, E00012 will result. Modifying any of these fields should result in a unique subscription.
E00020 – The payment gateway account is not enabled for eCheck.Net subscriptions. (ARB only)
The merchant would need to sign up for eCheck.Net to set up ARB subscriptions that bill a customer's bank account via ACH. This is by design, as ARB cannot create a subscription using a payment option that is not enabled.
This error only occurs for ARB. If a merchant stores ACH details using CIM, but does not yet have eCheck.Net, the merchant can always apply for eCheck.Net and then submit transactions with the stored ACH details. If the merchant submits a transaction without enabling eCheck.Net, they would get E00027 instead.
E00027 – The (test) transaction was unsuccessful.
For ARB, this response indicates that a test transaction failed payment method validation. If submitting a credit card subscription, it may be caused for one of these reasons:
- The card number may have one or more incorrect digits, which would cause the number to fail verification.
- The expiration date may be in the past.
- It could be an issue with both the card number and the expiration date at the same time.
If submitting eCheck.Net information for an ARB subscription, the ABA routing number may be failing verification.
For CIM, this response can indicate that the transaction fails credit card number/expiration date validation. It can also indicate that a live transaction declined, or that it encountered a processing error. To find the cause of the transaction failure, search the response XML for an element nameddirectResponse
, validationDirectResponse
, or validationDirectResponseList
. The exact name of the element varies depending on which CIM function was used. The element includes an AIM response string, and the Response Reason Code for the transaction is in the third position of that string. You may then use the Response Reason Code Tool at http://developer.authorize.net/tools/responsereasoncode/ to find the root cause of the error.
Note that, if the transaction encountered a decline or a processor error, the transaction will be logged in the Unsettled Transactions within the Merchant Interface for the affected account.
E00039 – A duplicate record already exists. (CIM only)
CIM checks for duplicate records, using these fields:
Function | Fields Used For Duplicate Profile Verification |
createCustomerProfileRequest |
|
createCustomerPaymentProfileRequest |
|
createCustomerShippingAddressRequest |
|
If one of the above functions is submitted, and if the fields used for duplicate profile verification contain the exact details as an existing profile, E00039 will occur.
Note: The error response will include the ID number of the duplicate profile.
E00040 – The record cannot be found. (CIM only)
This error occurs if the profileId
, paymentProfileId
, or shippingAddressId
is not valid. There are multiple possible causes, which may include:
- Confusion over the differences between profile IDs and payment profile IDs;
- Issues when storing ID numbers;
- Using an ID number from one account's CIM setup when submitting to another account's CIM setup.
Note that profile IDs, payment profile IDs, and shipping address IDs are not transferrable between accounts.
For a complete list of possible error messages, please review the ARB or CIM API documentation available at http://developer.authorize.net/api/.