Automated Recurring Billing (ARB) and Customer Information Manager (CIM) employ similar Application Programming Interfaces (APIs) and often encounter the same errors. This guide provides a list of common ARB and CIM issues and the steps to resolve each error.
E00003 – An error occurred while parsing the XML request.
An E00003 response typically indicates that the XML submitted does not meet the schema specifications for ARB or CIM. You or your developer should review the XML data that is being generated and submitted. Start by confirming that the XML is well-formed. You can do this by loading the XML data into Internet Explorer and checking if Internet Explorer's XML parser can read the data.
If the XML is well-formed, ensure that the data elements are in the correct order. Many data types in the ARB/CIM schema, such as creditCardType, must be in the correct order. If they are not, an E00003 error may occur. The order is described within the schema, and the API documentation lists the elements in the expected order.
This error may also occur if an element name is misspelled.
E00007 – User authentication failed due to invalid authentication values.
This error occurs when the API environment does not 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 the following 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.
E00015 – The field length is invalid.
This error means that one of the fields has an invalid length. Many fields in requests to create an ARB subscription or CIM profile have character limits. For example, Total Occurrences must be a “Numeric string, up to 4 digits.” This information can be located in the API reference section of our Developer Center. Below their requested call sample code, there is an expandable field with this limit information titled : “REQUEST FIELD DESCRIPTION”.
E00020 – The payment gateway account is not enabled for eCheck.Net subscriptions. (ARB only)
The merchant needs 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 named directResponse, 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 to find the root cause of the error.
Note: 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)
Authorize.net's Customer Information Manager (CIM) checks for duplicate records using specific fields. If one of the following functions is submitted, and if the fields used for duplicate profile verification contain the exact details as an existing profile, error E00039 will occur.
Function | Fields Used For Duplicate Profile Verification |
---|---|
createCustomerProfileRequest | merchantCustomerId, description, e-mail |
createCustomerPaymentProfileRequest | customerProfileId, cardNumber, accountNumber, routingNumber, billToFirstName, billToLastName, billToAddress, billToZip |
createCustomerShippingAddressRequest | customerProfileId, firstName, lastName, address, zip, phoneNumber |
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. Possible causes 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.
E00099 – Customer profile creation failed. This transaction ID is invalid.
This error occurs when the transaction ID being referenced in a CreateTransactionFromProfileRequest is more than 30 days old. Transaction IDs can only be guaranteed to be available for use for 30 days, after which time the payment data may need to be collected from your customer in order to create a profile.
For a complete list of possible error messages, please view our documentation.