cancel
Showing results for 
Search instead for 
Did you mean: 

API Error E00142 when resubmitting a transaction with a valid credit card

What I am sending

<?xml version="1.0" encoding="utf-8"?><createTransactionRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><merchantAuthentication><name>XXXXX</name><transactionKey>XXXXXX</transactionKey></merchantAuthentication><clientId>sdk-dotnet-1.9.3</clientId><transactionRequest><transactionType>authCaptureTransaction</transactionType><amount>7.45</amount><profile><customerProfileId>1914XXXXX</customerProfileId><paymentProfile><paymentProfileId>18276XXXX</paymentProfileId></paymentProfile></profile><order><invoiceNumber>86b87e40-9053-4f30-a</invoiceNumber><description /></order></transactionRequest></createTransactionRequest>

 

Response:

 

<?xml version="1.0" encoding="utf-8"?><createTransactionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><messages><resultCode>Error</resultCode><message><code>E00142</code><text>RecurringBilling setting is a required field for recurring tokenized payment transactions.</text></message></messages><transactionResponse /></createTransactionResponse>

The integration I am setting up handles subscription-based payments, but does not use ARB.

 

This happens whenever I charge an amount against a profile where the credit card has expired, then try to rebill the same customer for the same amount, but with a different, valid credit card. The transaction fails on authCaptureTransaction as well as fails on a separate authorize call.

I do not believe this is AuthNet's protection against repeated similar transactions.

 

 

I have never seen this error before, and it's not documented anywhere. What exactly does it mean, and what can I do to avoid getting this error in the future? I have tried to set recurringBilling to true/false and that didn't work either. 

authorize
Member
1 ACCEPTED SOLUTION

Accepted Solutions

Hi @authorize

 

Are you passing this field "isPaymentToken": true   the request when adding or updating a payment profile for credit card ?

 

 

This shouldnt be passed in if you are adding a creditCard or bankAccount .  This is only needed if you passing in a network Token for card . 

 

You can use the updatePaymentProfile to remove this field and try again .

 

https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-payment-p...

 

Thanks





Send feedback at developer_feedback@authorize.net

View solution in original post

4 REPLIES 4

Hi,

 

1) Can you kindly run this API (https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-prof...) and tell us what the response is for your payment profile ?

 

2) How are you charging the customer the second time. Are you updating the customer profile or are you simply charging a new valid credit card ? 

Akash_shah
Authorize.Net Developer Authorize.Net Developer
Authorize.Net Developer

1.

{
    "paymentProfile": {
        "customerProfileId": "1914010837",
        "customerPaymentProfileId": "1827684746",
        "payment": {
            "creditCard": {
                "cardNumber": "XXXX8713",
                "expirationDate": "XXXX",
                "cardType": "Visa",
                "issuerNumber": "455651",
                "isPaymentToken": true
            }
        },
        "customerType": "individual",
        "billTo": {
            "phoneNumber": "XX",
            "firstName": "newcard",
            "lastName": "forsubscription",
            "address": "asdfa",
            "city": "XX",
            "state": "XX",
            "zip": "XX",
            "country": "United States"
        }
    },
    "messages": {
        "resultCode": "Ok",
        "message": [
            {
                "code": "I00001",
                "text": "Successful."
            }
        ]
    }
}

For the second charge, I had created a new payment profile to attach to the profile for the attempt, then made the call. It shows up as void from the dev portal.

Hi @authorize

 

Are you passing this field "isPaymentToken": true   the request when adding or updating a payment profile for credit card ?

 

 

This shouldnt be passed in if you are adding a creditCard or bankAccount .  This is only needed if you passing in a network Token for card . 

 

You can use the updatePaymentProfile to remove this field and try again .

 

https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-payment-p...

 

Thanks





Send feedback at developer_feedback@authorize.net

That worked, thank you!