To meet the demand for greater, more flexible access to real-time electronic transaction processing, transaction processing providers are lowering the barriers of entry, and opening the interfaces to their systems, allowing developers an opportunity to create custom interfaces for electronic commerce systems. In this article we show how easy it can be to connect your website to these systems and add real-time credit card processing to your programming arsenal.
Before setting up your transaction system and immediately processing live transactions, some testing of the system is prudent, for your benefit and your customers. Fortunately, Authorize.net provides an excellent platform for transaction testing, so your system can go live with minimal white-knuckled fear (or excitement) of incorrectly charging your customers credit cards. (Note: if youíre not sweating a little bit the first time you deploy this system in a live environment, youíre not taking the potential problems seriously enough)
The first thing you can do to test an account is to simply put the account into "test mode" on the account control panel. This will cause all transactions to be processed as tests, and no one will be charged a penny. When processing transactions in test mode, you can use the credit card number "4222222222222" (thatís twelve 2ís, in case youíre wondering), the system will return a response code corresponding to the whole dollar amount of the transaction. In other words, using the special credit card number, a transaction for $6.00 will return error code 6 from the system, "Invalid Credit Card Number". This feature affords you the opportunity to test specific logic for handling different responses from the system.
If you donít want to put the whole account into test mode, you can simply send a field with your transaction form with a name of "x_Test_Request" and a value of "TRUE". This places the system test mode for a single transaction, and causes the system to behave, for the purposes of that transaction, as though the account was in test mode. This might be useful if you need to make upgrades or improvements to a live account, and wanted to be able to process test and live transactions simultaneously.
Finally, if youíre uncomfortable testing with your actual account, or you donít even have an account, or youíre just doing this for fun, you can send your transactions with a x_Login value of "testing -- an account provided by Authorize.net specifically for developers to use to test with the system.
I cannot stress enough the necessity of adequate testing for these transaction-processing systems. With electronic systems, itís easy to lose sight of the fact that youíre dealing with real peopleís real money. Note that it might take a while for you to prove the difference between an honest mistake and an attempt at credit card fraud. Donít give the skeptics more reasons to not believe in the promise of eCommerce. . . test your systems adequately.