cancel
Showing results for 
Search instead for 
Did you mean: 

Checking for Duplicate Payment Profies via CIM API createCustomerPaymentProfile()

 

When creating a payment profile against a known BUT expired (cc expiration date in valid) payment profile.  Does the CIM return the E00039 dupe error along with the expired payment profile id or does it return a new payment id. 

 

CASE:

 

In the sandbox I've created an payment profile with an expired cc expiration date (CIM API - validation mode 'none'). I then via my app issue a createCustomerPaymentProfile (same card info EXCEPT different expiration date - validation mode 'liveMode').

 

In the case listed above

 

1) Should the createCustomerPaymentProfile return a new profile ID or the dupe ID?  (I have tested this in the sandbox and I get a NEW profile Id.  I thought it should have returned the old dupe id.  Can you help clarify why?

 

2) Is the behaviour displayed in the sandbox the same as on production?  (this very hard to test).

 

You may ask why I'm asking this question.  I get dozens invalid credit card errors in conjunction with the E00039 error code a month.  If the Production environment operatates the same as the sandbox.  I don't think this would be an issue. 

 

I've started to issue an updateCustomerPaymentProfile after every createCustomerPaymentProfile (new id or dupe id ) to alleviate any problems going forward.. Only time will tell if this solves the problem.

 

Have any of you ran into this situation.

 

BTW.. It's to cost prohibitive (using validateCustomerPaymentProfile) to cull any expired payment profiles from the CIM.

 

Thanks in advance..

crojac
Member
4 REPLIES 4

 

Hi crojac ,

 

Our sandbox accounts work just like production accounts. The duplicate check only triggers if all of the data (including expiration date) is identical to another profile. Creating a new profile with a different expiration date will not trigger a duplicate warning.

 

Thanks,

Joy

Joy
Administrator Administrator
Administrator

The documentation says otherwise. Per the documentation as of 1/5/2017, we should get the duplicate error if card number, name, address and zip are the same even if expiration is different. In our testing, it worked this way in roughly 11/2015 until some point, then recently it now works as described where we no longer get the duplicate error if expiration date is different.  Can someone please clarlify this once and for all.  I am 100% sure it worked this way becuase we did code update and signigicant testing in late 2015 and added functionality to handle the error and give customers an update screen.  Need help.

E00039 – A duplicate record already exists. (CIM only)

CIM checks for duplicate records, using these fields:

 

FunctionFields 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

@aetherly Could you provide a link to the documentation you're referencing, please? I'd like to review it.

--
"Move fast and break things," out. "Move carefully and fix what you break," in.

The createCustomerProfileRequest will throw a duplicate profile error with a different card expiration date. The createCustomerPaymentProfileRequest will not.

Powered by NexWebSites.com -
Certified Authorize.net developers