validationMode and declined setup charges
I'm using setup charges to bill in advance, and I'm getting "transaction declined" errors in response to the single-cent validation transactions that occur when I try to process a charge in live mode. Authorize.net lays the blame squarely on the card-issuing bank for rejecting these 1-cent transactions. I have no need for the 1-cent validation transactions - I just want the full amount of the charge to be captured right away. So, my question is, how do I turn this validation off? I can't find anywhere on the Authorize.net site to toggle this behavior, and the CIM API documentation I found here:
http://www.authorize.net/support/CIM_XML_guide.pdf (see page 15: "validationMode")
suggests that it's a setting in the XML that comes from CheddarGetter.
On further investigation, I think it looks like the 1-cent transaction is required to validate the CVV number. Is my choice, then, between requiring the CVV number and accepting that some customers' banks won't allow the 1-cent transaction, or not requiring the CVV number and accepting a higher risk of fraud?
Please let me know if I'm understanding this correctly.
Discussions are closed to public comments.
If you need help with Cheddar please
start a new discussion.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Marc Guyer on 11 Feb, 2010 08:38 PM
Hans -- You're correct about the validationMode. When originally designed, we didn't anticipate the need to not validate a card. You certainly should have the option to turn off validation. It actually hadn't been a problem until you brought it up.
This whole validation thing has gotten crazy lately since Visa has changed the game yet again. Now, validation transactions can't be $0.01 in some cases. We haven't actually seen them rejected before.
We'll work on a patch right away to allow you to turn off validation. We're hoping to have that done for you in a couple of hours. Stay tuned.
2 Posted by Hans on 11 Feb, 2010 08:50 PM
Ok, cool. Will that turn off zip-code validation as well? Or is the 1-cent transaction only required when validating the CCV number?
Support Staff 3 Posted by Marc Guyer on 11 Feb, 2010 08:57 PM
Hmm... I don't have an answer to that question. We haven't been able to get a straight answer from Authorize.Net about it either. If you turn off validation altogether, the CIM just doesn't do any kind of $0.01 or $0.00 transactions for validation purposes. When the transaction for the setup fee is run, the validation should check the CCV and the zip at that time. However, I'm thinking that this would require that the CIM remembers the CCV, which isn't allowed by PCI compliance. You ask a great question. We'll probably just have to try it out. If you want to give them a call to see if you can get a good answer, we'd sure like to hear it.
4 Posted by Hans on 11 Feb, 2010 09:09 PM
Thanks. Looking at the API doc I linked above, on page 13 it says "cardCode is only used for validation and will not be stored in the customer profile. If should only be used when submitting validationMode with a value of testMode or liveMode".
So that sounds to me like the only way to do CCV validation is with a $0.01 (or $0.00 in the case of Visa) authorization-only transaction. Which is fine for me - I'm OK with simply not requiring the CCV number. I can't find anything that says that an authorization-only transaction is the only way to validate the zip code, so I think what you mentioned above sounds correct. I should be able to validate the zip code without doing the $0.01 transaction.
I'll call Auth.net and try to get a confirmation of that.
Thanks again, Marc. You've been extremely helpful.
Support Staff 5 Posted by Marc Guyer on 11 Feb, 2010 09:14 PM
You could use testMode for validationMode which theoretically would test the CCV without doing a $0.01 or $0.00 transaction. From the doc:
Maybe that'll somehow check the CCV without running a transaction... Again, a question for Auth.Net
Support Staff 6 Posted by Marc Guyer on 11 Feb, 2010 09:51 PM
We just tested and released a patch that allows you to change the validationMode. It looks like testMode really doesn't do anything except basic field format validation (not sure if testMode even does that). So, I suppose CCV is irrelevant unless you're going to use liveMode or oldLiveMode (deprecated).
7 Posted by Hans on 11 Feb, 2010 11:14 PM
This solved my issue, and I just successfully processed my first transaction. Thanks, Marc!
By the way, looking at the details given in the Authorize.net transaction list shows that the zip code was validated even though validationMode was set to none. Excellent.
Support Staff 8 Posted by Marc Guyer on 11 Feb, 2010 11:19 PM
Glad to help. I suppose the zip code verification is expected since the zip
is stored. Now the question is whether or not CCV is used at all since it
isn't stored.
Support Staff 9 Posted by Marc Guyer on 11 Feb, 2010 11:22 PM
Is suppose that since we have the CCV in memory in the case where a transaction is subsequently run (in your case for the setup fee), we could pass it in with with transaction.
... There I go thinking out loud again.
Marc Guyer closed this discussion on 22 Apr, 2010 04:02 PM.