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

Verisign

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

 

What you need to start

You receive from Verisign the authentication data as follows:

If your merchant is of type "PayFlowPro":

  • The "pfpro" binary for your platform
  • Merchant ID
  • Merchant Password
  • Vendor ID
  • Reseller ID (optional)

If your merchant is of type "PayFlowLink", upgrade to "PayFlowPro":

  • This interface design changed on the Verisign site and is not supported by EPI anymore

 

Gateway Configuration Data

The Verisign product homepage is under: http://www.verisign.com/

If you use PayFlowPro, the script will use the binary "pfpro" that you got from Verisign.

Set environment variables.
Please set these variables in your hash below, as recommended in the documentation below:

-GATEWAY_BIN_PATH
-GATEWAY_LIB_PATH
-GATEWAY_CERT_PATH

Note that in the case of an incorrect path or missing items described below, you will see the following error: "A system communication failure has occurred".

Also, if your user account is not active with the gateway (not set to live mode) you will see the following error: "Invalid gateway configuration".

 

Payment Methods

The Supported payment methods are (PayFlowPro):

CreditCard, PurchaseCard, ECheck, ACH

 

Valid values for -ACTION

For PayFlowPro:

  • TEST
  • AUTH_CAPTURE
  • DELAYED_CAPTURE
  • PRIOR_AUTH_CAPTURE
  • CREDIT
  • VOID
  • VOICE_AUTH

 

Code to use for The CITY Shop

For the "PayFlowPro" method:

$MerchantData = {
  -GATEWAY_NAME           => 'Verisign',
  -GATEWAY_VERSION        => 'PayFlowPro',
  -MERCHANT_ID            => 'testdrive',
  -MERCHANT_USER          => 'testdrive',
  -MERCHANT_PARTNER       => 'VeriSign',
  -MERCHANT_PASSWORD      => 'xxx',
  -GATEWAY_BIN_PATH       => '.',
-GATEWAY_LIB_PATH => './lib',
-GATEWAY_CERT_PATH => './certs',
};

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
In the docs, it appears as VENDOR Use your case-sensitive vendor name that you defined at registration.

-MERCHANT_USER
In the docs, it appears as USER. For now you must use your vendor ID for this parameter. In future releases you will be able to use this parameter to create multiple users for a single account.

-MERCHANT_PARTNER
This key defaults to "VeriSign" Your reseller ID is provided to you by the authorized VeriSign Reseller who signed you up for the PayflowPro service. If you signed up yourself, leave default "VeriSign".

-MERCHANT_PASSWORD
Your case-sensitive password that you got from Verisign.

-GATEWAY_BIN_PATH
This is the path to your pfpro binary, that you received from Verisign. After extensive testing, it seems that the binary prefers a relative path, i.e. the value recommended for The CITY Shop:

 -GATEWAY_BIN_PATH => '.',

If you are configuring this for The CITY Shop, please copy the binary in the store folder.

-GATEWAY_LIB_PATH
This is the path to the libpfpro.so library, that comes in the same package with the binary. This sets the environment variable LD_LIBRARY_PATH. As above, it is recommended to use relative paths, i.e. the value recommended for The CITY Shop:

 -GATEWAY_LIB_PATH => './lib',

If you are configuring this for The CITY Shop, please create the lib directory in the store folder, and copy the libpfpro.so there.

 

-GATEWAY_CERT_PATH
This is the path to the file f73e89fd.0 (the certs subdirectory), that comes in the same package with the binary. This sets the environment variable PFPRO_CERT_PATH. As above, it is recommended to use relative paths, i.e. the value recommended for The CITY Shop:

 -GATEWAY_CERT_PATH => './certs',

If you are configuring this for The CITY Shop, please create the certs directory in the store folder, and copy the file f73e89fd.0 there.

 

-GATEWAY_AVS_ENABLED
When set, this flag enables Address Verification (AVS) checking, and some extra fields are required in the form input. Merchants who wish to qualify for the lowest rate with their banks must send through Address Verification Service (AVS) information.
The processing network verifies the AVS information, comparing the data with the billing information for the buyer. Based on the comparison, a response will be returned which confirms whether the information matches or not.
Banks do not decline transactions based on the AVS check. This information is advice only. The AVS response will include a code for address and zip code match.

-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. The script will create a log file, the name depending on the gateway type:
VERISIGN_PFP.log - PayFlowPro

 

Used fields

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

For the CreditCard method:

Required Fields:

-ORDER_NUMBER
-ORDER_AMOUNT
-CARD_NUMBER
-CARD_EXPIRES
-USER_FULL_NAME (or -USER_FIRST_NAME/-USER_LAST_NAME)

Optional Fields:

-USER_CITY
-USER_STATE
-USER_ZIP
-USER_COUNTRY
-USER_EMAIL
-USER_PHONE

 

For the ECheck method:

Required Fields:

-ORDER_NUMBER
-ORDER_AMOUNT
-CHECK_NUMBER (4 digit number)
-CHECK_MICR_NUMBER
MICR stands for Magnetic Ink Check Reader. This is the entire line of numbers at the bottom of all checks. It includes the transit number, account number, and check number.

-USER_DL_NUMBER (required only by AVS)
-USER_DL_STATE (required only by AVS)
-CHECK_ACCT_TYPE (required only by AVS)
This field has the values P or B (Personal, Business).

-USER_CITY
-USER_STATE
-USER_ZIP
-USER_ADDRESS
-USER_EMAIL
-USER_PHONE

 

For the ACH method:

Required Fields:

-ORDER_NUMBER
-ORDER_AMOUNT
-BANK_ABA_CODE
-BANK_ACCT_NUMBER
-CHECK_ACCT_TYPE (required only by AVS)
This field has the values P or B (Personal, Business).

-USER_CITY
-USER_ZIP
-USER_ADDRESS


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