This project provides a set of API modules for conducting transactions via Authorize.net.

Authorize.net provides a PHP SDK with all of the functions necessary for integrating with it's various services. This module uses the SDK (via the Libraries modules) and provides wrapper functions to ease the use of the API for other modules to use.

API

The core Authorize.net API module (authnet.module) is stable and contains working wrapper functions for CIM and AIM functionality. Other APIs have yet to be added, but the core module is designed to make that easy. Patches are welcome!

Authorize.net APIs included:

  • CIM - yes*
  • AIM - yes*
  • ARB -
  • CP -
  • SIM -
  • DPM -
  • TD -

* CIM and AIM are mostly done and working. UI integration for bank accounts and eCheck.net payments are not yet implemented (but there are issues w/ patches started: #1766012 and 1896910).

If you have feature requests, or bug reports, please create an issue.

Included modules:

Authorize.net API (authnet.module)

This is the core Authorize.net API module. It provides Drupal wrapper functions for the Authorize.net SDK objects and functions. It is used by all the other sub-modules.

CIM Entity Integration (authnet_cim_entity.module)

This module maintains an association between Authorize.net CIM customer profiles and payment profiles, and entities in Drupal. It does two main things:

  1. Provides two database tables: one for linking Authorize.net customer profiles to entities in Drupal (ie: users), and one for keeping track of Authorize.net payment profiles (ie: credit cards).
  2. Implements hooks provided by the authnet module to add/update/delete records from the abovementioned databases when customer profiles and payment profiles are updated via the API functions.

Authorize.net UI (authnet_ui.module)

Provides reusable UI elements like forms (ie: payment profile edit form).

Authorize.net User (authnet_user.module)

Maintains an association between Authorize.net CIM customer profiles and Drupal users. Depends on authnet_cim_entity and authnet_ui (above). It provides menu callbacks for users to add/edit/remove payment profiles (ie: manage their credit cards) at /user/[uid]/billing.

Requirements:

Installation:

  1. Download the Authorize.net SDK to your /sites/all/libraries/anet_php_sdk directory.
  2. Download and install the Libraries module.
  3. Download and install this module (authnet).
  4. Enter your Authorize.net Login ID and Transaction Key at /admin/settings/authnet

Ubercart/Commerce Integration

Attention: As of the 6.x-1.0-beta1 release, the Ubercart integration module has been moved to a separate contrib project (see below). Download and install that module if you are upgrading from an older release.

Ubercart integration is provided by this project: Ubercart Authorize.net Payment Gateway

Commerce integration is not yet available, but hopefully will be provided via integration with the Payment API module. See Authorize.net for Payment (work in progress).

Other Authorize.net modules:

Part of the reason this module was built was to address the disparity among the existing set of Authorize.net solutions available for Drupal. There are a number of different modules available, each with different goals, and all reinventing the wheel in their own ways.

The following modules provide various forms of integration with Authorize.net. Many of them implement their own functions for communicating with the API. If you are a maintainer of any of these, and are interested in leveraging this module's API to make your job easier, let us know!

Project Information

Downloads