I have just integrated CIM throughout a custom portal in my company website, we have chosen to use CIM due to PCI compliance and so far (up until this point) we have not have any real issues.
Our solution basically uses a combination of the XML API and the authorize.net iframe pop-up (modal window, not new browser window) to add payment profiles to the users account, then use the XML API to transact using the CIM Profile ID and Payment Profile ID.
The XML API to create a new CIM Customer Profile works in the live account (with TEST mode OFF) but when I load the iframe and enter real credit card details, fill out the form, then click "add" to add the payment profile to the CIM Customer Profile all I get is little red error text at the bottom of the window that says "The transaction was unsuccessful" with no error code or other information... Please just note, this is not an attempt to transact, just add the card (payment profile) to the users CIM account.
This whole process works fine on the testing accounts, (note, not the live account in test mode, but different sandbox accounts entirely), but when we launched our site this error now occurs.
The work around for now is to add payment profiles through the Authorize.NET interface, but this is NOT a sustainable solution at all.
How can I diagnose what the issue is?
Thanks,
Mark
โ11-12-2015 01:55 PM
Hi maccamacca,
The hosted CIM forms use livemode validation by default. The error you are getting indicates that the card is being validated and getting a decline when you try to add a payment profile. You can review the transactions in your account to find out why it is declining. If you do not need to validate card information you can change the validation mode.
Thanks,
Joy
โ11-12-2015 03:09 PM
Hey Joy,
Thanks for the reply. I appreciate the speed.
What do you mean by "You can review the transactions in your account to find out why it is declining" which account do you mean? Authorize.NET or my bank?
How do I change the validation mode through the portal? Is that the card code verification, or the address verification (or another one)?
Cheers,
Mark
โ11-12-2015 03:15 PM
You can login to your Authorize.Net merchant interface to review the transaction and see the reason why it was decline. The validation will take place against that card information and it declines, the payment profile will not be crreated. If you check the Transaction Details page it should tell you the reason of the decline, you can look up for the transaction under your Search tab in your account.
You can refer to page 123 of the CIM implementation guide and change the value for hostedProfileValidationMode, please see: http://www.authorize.net/content/dam/authorize/documents/CIM_XML_guide.pdf
Thanks,
Joy
โ11-12-2015 03:51 PM
Hi Joy,
I have logged in to the merchant interface, and I can see each of the transactions, but none of them at all say that they failed, in fact it looks like they all worked! But still I get the error that I described.
We do not provide a value for the hostedProfileValidationMode, which would mean that the default value applies i.e. "liveMode".
Its also worth mentioning that the 0.01 transaction seems to go through because we actually recieve the email from Authorize.NET about it.
Is there some information I can send through to you to help diagnose this?
Sorry if I missed something small...
โ11-12-2015 06:33 PM
Still no resolution on this, I am trying to communicate with the developer support team via email, but even they have gone quite over the last few days.
Does anyone have any information that could help me here?
โ11-16-2015 02:18 PM
When you said it didn't fail, did you mean it approved? and not declined?
โ11-16-2015 04:04 PM
This is the reply from the Authorize.NET developer support emails:
After reviewing this with our internal developers, they confirmed that this is a current limitation for AUD merchants. Basically, when you are processing in AUD using FDIAus processor, which is the processor in this gateway, you cannot process a VOID transaction type because your processor does not support it. What is happening here is, when you run a liveMode validation, it verifies the customer information for $0.00 or for a penny and it immediately voids the request right away, that is how CIM liveMode validation works. But since FDIAus does not support VOID the liveMode validation done by CIM processes as Authorization Only followed by immediate Void and the inability to void means that it is determining that the transaction failed and rejecting the payment profile.
The only workaround at the moment is to use testMode validation. It will check that the card is valid passing the mod 10 validation but it will not verify if the billing information is correct. Our internal developers are aware of this and they know the limitation of the VOID transaction type for merchants processing in AUD but I cannot provide you any ETA as to when they can provide a solution on this. For now your option is to use testMode validation instead of liveMode.
So, for now my workaround is to use the testMode validation.
โ11-16-2015 06:03 PM