cancel
Showing results for 
Search instead for 
Did you mean: 

Duplicate transaction issue

Hello,

We receive the error "A duplicate transaction has been submitted." on trying to create a customer profile using createCustomerProfileRequest

This happens when our customers have a credit card declined for AVS missmatch, but they try again in the next minute.

We don`t have any possibility from your API to set  x_duplicate_window (on createCustomerProfileRequest) , just like we currently use on createCustomerProfileTransactionRequest

Please confirm this  issue or suggest a solution; below you can see the two requests (on the first you can set the duplicate timeframe variable, on the second no posibility)


This is ok

 

 

More info: we use your SDK and we first create a customer profile when a client wants to pay

stefanpacurar
Member
9 REPLIES 9

Hi 

 

Could you please re-attach the image or paste the raw text for your request and response. Looks like the image isn't loading and I need more details on your scenario from the request/response body.

 

Thank you,

Rajvi

rajvpate
Administrator Administrator
Administrator

Hi rajvpate,

The images doesn.t contain requests/responses, they only show the properties of the 2 requests I mentioned.

The problem request is:

namespace AuthorizeNet.Api.Contracts.V1
{
    [DebuggerStepThrough]
    [DesignerCategory("code")]
    [GeneratedCode("xsd", "2.0.50727.3038")]
    [XmlRoot(Namespace = "AnetApi/xml/v1/schema/AnetApiSchema.xsd", IsNullable = false)]
    [XmlType(AnonymousType = true, Namespace = "AnetApi/xml/v1/schema/AnetApiSchema.xsd")]
    public class createCustomerProfileRequest : ANetApiRequest
    {
        public customerProfileType profile;
        public validationModeEnum validationMode;
        [XmlIgnore]
        public bool validationModeSpecified;

        public createCustomerProfileRequest();
    }
}

 

In the above request there is no possibility of setting a property to specify the time interval in which the reponse should not be as "duplicated ..." . (I`m talking about a property like extraOptions from other request that we use where I can specify x_duplicate_window in seconds)

 

I did a test on the sandbox environment and was able to create the customer profile by changing the email address for the second immediate request. Let me talk to the team and get back to you about this behaviour.

But could you try to send the same request again, but only change the email address and let me know if it solves your issue temporarily ?

 

Meanwhile I shall check with team and get back to you.

 

rajvpate
Administrator Administrator
Administrator

Hi,

 

You must include <validationMode>testMode</validationMode> to prevent a transaction from being attempted during the profile creating if you want to bypass the duplicate window.

 

And then follow it with a createCustomerProfileTransaction request to charge the customer if needed.

You can only use the extraOptions element with the createCustomerProfileTransaction request.

Let me know if this addresses your issue.

 

Thank you,

~ Rajvi

rajvpate
Administrator Administrator
Administrator

No, what you just said is actually wrong; because we used to create customer profiles with validationMode = false, and than a CustomerPaymentProfile was created for a DECLINED card. (and that is very bad)

 

As I understand from you:

"You can only use the extraOptions element with the createCustomerProfileTransaction request."

we will still receive duplicate transaction for createCustomerProfileRequest, because we cannot change the email as you suggested(it`s just absurd, we don`t want to make hacks on our side)

 

So, does AuthorizeNET have any plans to maybe fix this issue ?

Hi,

 

Let me check about the valdiationMode behaviour and get back to you.

 

The email address issue has been brought up to the team and they will look into it.

Thank you for your patience.

 

Regards,

~ Rajvi

Hi Rajvi,

Any news about this issue?

bump.

 

We're getting reports of this happening when incorrect, then correct CVV is submitted (but I thought any field change is supposed to qualify a second attempt as different). Found this when looking for a solution for this as a known issue, and see the thread unfortunately went stale.

 

Is this fixed?

I just learned a few moments ago that the CVV is not checked against the previous transaction, so a cahnge of the CVV will still result in a duplicate transaction if all other details are the same and the second submission falls within that Duplicate Window (which defaults to 2 minutes)

Not sure if this will help you, but I came across this page while I was looking for answers to similar problems, and figured I would share in case it helps anyone else. 

 

the Authorize.net reference here includes a list of all the fields that are checked as part of the duplicate transaction process: 

https://support.authorize.net/s/article/Error-11-A-duplicate-transaction-has-been-submitted