Showing results for 
Search instead for 
Did you mean: 

Duplicate transaction with createCustomerPaymentProfileRequest

I'm using CIM with AVS and CVC, and I'm building a site that allows users to create a profile using createCustomerProfileRequest and then create one or more payment profiles using createCustomerPaymentProfileRequest.  Everything seems to be working, except if the test transaction is declined because an AVS or CVC error was returned and then I correct the address or code and resubmit, I get a duplicate transaction error if I don't wait two minutes.  I'm not running any transactions other than the test transaction that is run when validationMode is set to liveMode.  CIM doesn't allow x_duplicate_window to be used with a createCustomerPaymentProfileRequest.  How can I allow a user to be able to correct the address or card code and resubmit without waiting the two minutes?


Any help is appreciated.




Did you try passing x_duplicate_window in the extraOptions?


Yes.  Not only is not stated as valid for that request, but I tried passing it in extraOptions, and I got an error.


I forgot to mention that this also happens with updateCustomerPaymentProfileRequest.


We don't currently have a workaround for this beyond waiting 2 minutes between updates.  However, our developers have discussed this issue as recently as last week and are looking into disabling the duplicate window by default for all CIM requests other than createCustomerProfileTransaction.  I can't make any promises on a timeline, but hopefully this is something that we will be able to resolve for you.

Sorry to resurrect an old thread; is this still a known issue? I think I'm running into this problem as well.

the createCustomerPaymentProfileRequest has extraOptions parameter?

How about now?
We are experiencing this issue and it's 2015. 


We need to allow correcting mis-typed card codes. Since PCI DSS requirements do not allow you to store the card code, whenever this is the only thing that changes on a request, the request will always look like a dupliate. The result is a very customer jolting experience -- the last thing we want during checkout.


If I could validate the PAN/exp_date/card_code prior to calling create customer payment profile I would do that. This seems impossible without already having a payment profile id.

How can we approach this issue? Why can't we disable or shorten duplicate timeout on createCustomerPaymentProfileRequest?


How do you suggest we approach this? Telling the customer to wait 2 minutes after correcting a mistyped card code is off the table.


Hello @Rob_vH


Let me do some research on this issue.

I'd recommend subscribing to this topic so that you'll be alerted via email if there are updates. To subscribe, click Topic Options at the top of this thread and then select Subscribe. You'll then receive an email once anyone replies to your post.



Just for reference, I've tried setting a unique refId on each call to createCustomerPaymentProfileRequest, but bizarrely, still mistakenly believes the two attempts to be duplicates.




Hi Rob,


It is important to know that refID is not validated anywhere this is why changing this value will not resolve the issue you are getting with the error E00039 due to duplicate payment profile. When running the API call for createCustomerPaymentProfileRequest the fields below are validated. You can also check page 112 of the CIM guide for reference.






Administrator Administrator