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.
Thanks.
06-09-2010 02:31 PM
Did you try passing x_duplicate_window in the extraOptions?
06-09-2010 04:09 PM
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.
06-09-2010 04:34 PM
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.
06-15-2010 02:21 PM - edited 06-15-2010 02:23 PM
Sorry to resurrect an old thread; is this still a known issue? I think I'm running into this problem as well.
06-09-2011 05:39 AM
the createCustomerPaymentProfileRequest has extraOptions parameter?
08-16-2012 11:12 PM
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.
Rob
05-26-2015 08:16 AM
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.
Richard
05-26-2015 08:22 AM
Just for reference, I've tried setting a unique refId on each call to createCustomerPaymentProfileRequest, but bizarrely, Authorize.net still mistakenly believes the two attempts to be duplicates.
Rob
05-26-2015 08:29 AM
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.
customerProfileId
cardNumber
accountNumber
routingNumber
billToFirstName
billToLastName
billToAddress
billToZip
Thanks,
Joy
05-26-2015 09:31 AM - edited 05-26-2015 09:33 AM