PHP Configuration Requirements
The following PHP extensions must be enabled in order for CiviCRM to interface with Authorize.Net's payment services:
Use phpInfo() to check for these extensions. You should see the following lines:
The MHash extension is also recommended, although not required.
Live vs Test
Authorize.Net has a test server and you can set your Merchant Account to run in Test Mode. In this case, all transactions are considered to be tests. However, you can also use the live server and login for testing. The addition of a single field (x_test_request) to the information being sent to Authorize.Net indicates that the transaction is a test.
Advanced Integration Method vs Simple Integration Method
For Authorize.Net Advanced Integration Method (AIM), card information is submitted to the server. The server then takes all submitted information, and submits it to Authorize.Net as an HTTP Post form. A reply is then received, which consists of a single CSV line. This reply is parsed to determine success or failure, and if failure, the reason for failure.
For Simple Integration Method (SIM), the client submits the form to Authorize.Net. Authorize.Net can optionally be configured to contact the server with the results, and display a response page generated by the server. If this option is not used, though, there will be no way to track contributions, registrations, etc.
At this time, CiviCRM only supports the Advanced Integration Method.
Configure API Access
NOTE: The following assumes that you already have an Authorize.Net merchant account. If you don't, you can go to http://www.authorize.net to sign up.
If you do not already have an API login and Transaction Key, generate these now from the Authorize.Net account page, under Settings, General Security Settings.
After this is done, create the Authorize.net Payment Processor configuration in CiviCRM::
Automated Recurring Billing
Authorize.net offers a recurring payment system called Automated Recurring Billing (ARB) for an additional fee. Your Settings - Payment Processor page will automatically populate with the standard Recurring Payments URL, but you will need to enable the ARB service in order for recurring contributions to work.
CiviCRM will need to be notified of the success of recurring contributions via a Silent Post URL. Within Authorize.net, go to Account > Settings > Silent Post URL (within the Transaction Format Settings section). On that page, enter the URL:
If you fail to do this, one-time contributions will succeed normally, and recurring contributions will be processed successfully by Authorize.net, but the contribution status will be stuck at Pending.
Other Authorize.Net settings
Accepted Credit Cards
The following card numbers can be used for testing:
These numbers will always succeed in test mode as long as the expiration date is in the future. You can enter any value for the Security Code (CSC) when testing.
For more information on the Authorize.Net Advanced Integration Method, see the AIM guide: http://www.authorize.net/support/AIM_guide.pdf