The EPI - E-Payment Interface

 

Overview | Concept | Licensing | Download | Installation | Sample Code | FAQ

Products | Scripts | Services | Tutorials | Books | Links | Contact | Bulletin Board

Please follow the links below to read the documentation specific to your gateway:

AuthorizeNet | BluePay | CyberCash | Echo Inc. | ESec | FirePay | GO Software(PCCharge)

iBill | Innovative Gateway | IntelliPay | Iongate | IPayment | LinkPoint | NovaInfo | PayBill

PayPal | PaySystems | Plug-n-Pay | Qenta | Skipjack | TeleCash | VeriSign | WorldPay

Authorize.Net

Authorize.Net is an US based company. As of this writing, Authorize.net only supports transactions in US dollars.

 

What you need to start

You receive from Authorize.Net a Merchant ID and a Password. For normal transactions, if you do not have the password set on "Always require" in the online interface, only the merchant ID is necessary, which you will assign to the key -MERCHANT_ID as in the examples below.

New Authorize.Net Security Requirement

Effective May 28, 2002, Authorize.Net requires all Merchants who connect to the payment gateway via WebLink or ADC Relay Response to implement a Referrer URL on their account. Please see the following document on the Authorizenet page for more information.

 

Gateway Configuration Data

The Authorize.Net product homepage is under: http://www.authorizenet.com/
The variables used in this module are matching the version 3.0 of the Authorize.Net gateway

This package uses a SSL backlink method to submit the data to the url:

https://secure.authorize.net/gateway/transact.dll

You will need the following software installed:

Net::SSLeay v1.15
OpenSSL v0.9.6c

Please check the Net::SSLeay web page for the correct version required:
http://symlabs.com/Net_SSLeay/

For the people that don't have Net::SSLeay installed (NT folks),
there is an alternative submission method using:

LWP::UserAgent
Crypt::SSLeay

Please see the main installation instructions for more information on configuring the SSL modules.

 

Payment Methods

The Supported payment methods are CreditCard and ACH.

Valid values for -ACTION

  • TEST
  • AUTH_CAPTURE
  • CREDIT
  • VOID
  • CAPTURE_ONLY
  • PRIOR_AUTH_CAPTURE

except for the TEST and AUTH_CAPTURE, the -MERCHANT_PASSWORD is REQUIRED!

 

 

Code to use for The CITY Shop

 

$MerchantData = {
  -GATEWAY_NAME           => 'AuthorizeNet',
  -MERCHANT_ID            => 'testdrive',
  -MERCHANT_PASSWORD      => 'testpass',
  -MERCHANT_EMAIL         => 'office@nightmedia.net',
  -GATEWAY_CONNECT_METHOD => 'SubmitLWPUserAgent', # or SubmitNetSSLeay
};

If you configure this for The CITY Shop, that is all you need to know, and you can return to the installation instructions.

 

Description of the used parameters:

-MERCHANT_ID
This is the merchant ID provided to you by the gateway.

-MERCHANT_PASSWORD
This is provided to you by the gateway, and is an optional field. If your merchant account is set up to automatically require the password for all transactions, then you will have to provide the password.

-MERCHANT_EMAIL
This is the merchant email to use for emailing the order confirmation.

-GATEWAY_CONNECT_METHOD
This is the same as the key used by the "normal" payment gateways, and points to the method used to connect to the gateway site, in order to finalize the transaction. The allowed values are "SubmitLWPUserAgent" and "SubmitNetSSLeay"

-LOG_ACTIVITY
This is a flag that you can set on "1" if you want to log the gateway activity

-LOG_FILE_PATH
This is the path where the log file will be created. Note that this is a path only, and the script will create there a file named "AUTHORIZENET.log"

 

Used fields

The required fields for any transaction are:

-ORDER_NUMBER
-ORDER_AMOUNT
-USER_ACCOUNT_ID
-ORDER_DESCRIPTION
-USER_FIRST_NAME
-USER_LAST_NAME
-USER_ADDRESS
-USER_CITY
-USER_STATE
-USER_ZIP

Depending on the payment mode, here are the specific required fields:

For the CreditCard method:

-CARD_NUMBER
-CARD_EXPIRES

For the ACH method:

-BANK_ACCT_NUMBER
-BANK_ABA_CODE

Look in the main install documentation for examples of passing the data to perform a transaction.