In our app, customers put in their own unique API credentials for Authorize.Net. So basically, each customer account has a different Login ID and Transaction Key, as supplied by Authorize.Net. We're a shopping cart type product.
We have problems with customers entering the wrong thing or not copy/pasting the Login Id or Transaction Key correctly.
We'd like to give them a "Test My Settings" button that confirms if they entered everything correctly. What's the best way of doing this?
Obviously, we don't want to actually bill a credit card. And we can't use the Test API since their credentials only work in the live system.
Should we try voiding a random transaction ID (something obviously wrong like "abc123") and check if they get the correct "Transaction ID does not exist" message? Basically, if we did this, we'd be looking for an authentication message to see if the credentials get bounced before it even tries to void the fake transaction.
Is there a better way of doing this? We have a pretty high rate (about 5-10%) where people enter the wrong thing even though we give them very specific instructions on where to find it.
I'm also concerned that if we do attempt to void a fake transaction in order to validate the credentials, Authorize.Net may flag our IP addresses as malicious.
I've asked this question on the Authorize.Net forums as well but received no answer.