- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We use authorize.net for our AIM transactions and we are trying to implement CIM transactions as well.
We are using the following authorize.net sdk:
https://github.com/AuthorizeNet/sdk-php
To create a payment profile we are using the following function:
createCustomerPaymentProfile
The function can be seen in the following url:
https://github.com/AuthorizeNet/sdk-php/blob/master/lib/AuthorizeNetCIM.php
The CIM modules are created without issue with the correct information and I'm able to access them in sandbox.authorize.net
The problem that we are having is that I can create multiple CIM profiles with the same expiration date, same Credit Card number and different billing addresses. However, we want to make sure that the billing address is unique for each Credit Card number. When I try to create a Credit card with the same billing address, same credit card number but different expiration date then I get a 'duplicate card' error message (which is good). However, I would like to get the same error message if I try to create a Credit card with the a different billing address and the same credit card number and expiration date.
Looking at the pdf below,
http://www.authorize.net/content/dam/authorize/documents/CIM_XML_guide.pdf
It states that the billing address should be unique and that a duplicate error message should be displayed if a new CIM is created with the same Credit card and expiration but different billing address.
How can I make it so that the billing address is unique and a new Credit card is not created with the same Credit card number and expiration date?
Thank you
Felipe
Solved! Go to Solution.
11-20-2015 09:57 AM
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Felipe,
A duplicate transaction error will occur when one of the fields mentioned here is matching. We do not have any API functionality that will automatically let you achieve what you are trying to do. This is something you will need to track on your end and do the necessary actions.
Thanks,
Joy
11-23-2015 02:36 PM - edited 11-23-2015 02:40 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Joy for your reply.
Just one more question that hopefully you can answer as well. I'm trying to use the following function to validate CIM profiles on creation:
validateCustomerPaymentProfile
This works great for expiration dates, however for billing addresses it does not. From my understanding a credit card is associated with a billing address. If the billing address does not match what is associated with the card then there should be an error message. However, (in production mode) I can create a CIM profile with an incorrect billing address and validateCustomerPaymentProfile function does not give out an error about the billing address being incorrect.
I'm using the following guide to implement this functionality:
http://www.authorize.net/content/dam/authorize/documents/CIM_XML_guide.pdf
Starts at the end of page 19:
liveMode—This value is the default setting. liveMode generates a transaction to the processor in the amount of $0.01 or $0.00. If successful, the transaction is immediately voided. Visa authorization transactions are changing from $0.01 to $0.00 for Note Parameters required for individual API calls are in addition to the authentication parameters required for all API calls. All other credit card types use $0.01. Standard gateway and merchant account fees may apply to the authorization transactions. For Visa transactions using $0.00, the billTo address and billTo zip fields are required.
This states that the billTo and zip fields are required however it does not say if they have to be correct.
I validating billing address against the card information something that validateCustomerPaymentProfile does not do?
Thank you
Felipe
11-27-2015 07:52 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Felipe, are you testing in the sandbox or using a production gateway account? The sandbox does not validate addresses as it does not actually connect to a processor.
Richard
11-27-2015 09:25 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Richard,
Thank you for the reply. We decided not to validate billing addresses untill after auth transaction. Apparently validating billing addresses can cause huge frustation to customers sometimes
thanks again
Felipe
12-04-2015 07:49 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Felipe,
A duplicate transaction error will occur when one of the fields mentioned here is matching. We do not have any API functionality that will automatically let you achieve what you are trying to do. This is something you will need to track on your end and do the necessary actions.
Thanks,
Joy
11-23-2015 02:36 PM - edited 11-23-2015 02:40 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Joy for your reply.
Just one more question that hopefully you can answer as well. I'm trying to use the following function to validate CIM profiles on creation:
validateCustomerPaymentProfile
This works great for expiration dates, however for billing addresses it does not. From my understanding a credit card is associated with a billing address. If the billing address does not match what is associated with the card then there should be an error message. However, (in production mode) I can create a CIM profile with an incorrect billing address and validateCustomerPaymentProfile function does not give out an error about the billing address being incorrect.
I'm using the following guide to implement this functionality:
http://www.authorize.net/content/dam/authorize/documents/CIM_XML_guide.pdf
Starts at the end of page 19:
liveMode—This value is the default setting. liveMode generates a transaction to the processor in the amount of $0.01 or $0.00. If successful, the transaction is immediately voided. Visa authorization transactions are changing from $0.01 to $0.00 for Note Parameters required for individual API calls are in addition to the authentication parameters required for all API calls. All other credit card types use $0.01. Standard gateway and merchant account fees may apply to the authorization transactions. For Visa transactions using $0.00, the billTo address and billTo zip fields are required.
This states that the billTo and zip fields are required however it does not say if they have to be correct.
I validating billing address against the card information something that validateCustomerPaymentProfile does not do?
Thank you
Felipe
11-27-2015 07:52 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-27-2015 09:25 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Richard,
Thank you for the reply. We decided not to validate billing addresses untill after auth transaction. Apparently validating billing addresses can cause huge frustation to customers sometimes
thanks again
Felipe
12-04-2015 07:49 AM

