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

CyberCash

CyberCash is an US based company. It was bought by Verisign, and will be phased out in the months to come. We recommend implementing a different gateway, i.e. the Verisign own payment gateway

 

What you need to start

You receive from CyberCash a software to install on your server. This script will require the path to the configuration file.

 

Gateway Configuration Data

The CyberCash product homepage is under: http://www.cybercash.com/

This package uses a custom software installed on your system. You will need to provide a path to the configuration file, as described below.

There is a sad thing to be said to Cybercash - they have syntax errors in their modules.
The modules that need corrected are as follows:

CCMckLib3_2

There are a couple regexes that need fixed. Correct the code at lines 1014 and 1095 to read:

 while (/\#([\w\-.:;]+)\#/) {

CCMckDirectLib3_2

Add at line 356 the variable assignment for $version, since it will report undefined otherwise

my $version = '3.3.1';
$pairs_length = length($encryptedPairs);
...

You will HAVE TO add the path to the Cybercash shared script directory in your @INC path, at the beginning of your main script (store.cgi)

Also, since the Cybercash uses IPC::Open2 and does not provide support for the Perl tainted mode, you will need to remove the T from the first line of your script, to avoid errors.

 

Payment Methods

The Supported payment methods are CreditCard, ECheck and ACH.

Valid values for -ACTION

For the payment method CreditCard:

  • TEST
  • AUTH_CAPTURE
  • CREDIT
  • VOID

For the payment method ECheck:

  • TEST
  • AUTH_CAPTURE
  • CREDIT

For the payment method ACH:

  • TEST
  • AUTH_CAPTURE

 

Code to use for The CITY Shop

 

$MerchantData = {
  -GATEWAY_NAME        => 'CyberCash',
-GATEWAY_CONFIG_FILE => '/usr/home/myuser/conf/merchant_conf',
-GATEWAY_AVS_ENABLED => 1,
};

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:

-GATEWAY_CONFIG_FILE
This is the path to the config file generated by the software you got from CyberCash

-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 "CYBERCASH.log"

-GATEWAY_FDS_ENABLED
This is a flag that activates the fraud system, and requires some extra fields in the form data, see description below.

 

Used fields

The Optional fields for any transaction are:

-USER_CITY (required by FDS)
-USER_ZIP (required by FDS)
-USER_STATE (required by FDS)
-USER_COUNTRY (required by FDS)
-USER_EMAIL
-USER_PHONE
-USER_IP_ADDRESS
-SHIP_CARRIER
-SHIP_METHOD
-SHIP_FULL_NAME
-SHIP_ADDRESS
-SHIP_STATE
-SHIP_ZIP
-SHIP_CITY
-SHIP_COUNTRY

If you have the Fraud Patrol enabled, you should provide some extra info about your order, like the number of products in the cart, the merchandise type, the item ID (SKU), the product description

-ORDER_PRODUCT_TYPE
Valid values for this key are as follows:

  • PG physical Physical goods
  • DG digital-goods Digital goods
  • DC digital-content Digital content
  • SH shareware Shareware
  • PD physical-digital Both physical goods and digital goods

-ORDER_PRODUCT_COUNT
The maximum number of products in the cart is assumed 50.

For each item, there must be at least one value in the array references passed to the following item fields, or an Insufficient Data error will be returned.
-ORDER_PRODUCT_TYPE
This contains an array with product types
-ORDER_PRODUCT_DESCRIPTION
This contains an array with product descriptions
-ORDER_PRODUCT_SKU
This contains an array with product SKU

 

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

For the CreditCard method:

Required Fields:

-USER_FULL_NAME (or -USER_FIRST_NAME/-USER_LAST_NAME)
-USER_ADDRESS
-CARD_NUMBER
-CARD_EXPIRES

Optional Fields:

-CARD_BIN_NUMBER
The printed numbers under the Bank Identification Number (BIN) in the front of the credit card, if any. Providing this item's value is optional when you have the Fraud Patrol enabled.

-CARD_CIC_NUMBER
The Card Identification Code (CIC) provided by the cardholder. This field is known as CVV2 (by Visa), CVC2 (MasterCard), or CID (American Express). All are mapped to CIC. Providing this item's value is optional when you have the Fraud Patrol enabled. This three-digit number is found on the back of the card on the signature panel after the card number

-VOID_TYPE
The transaction type to void. This field is required for VOID. Valid values are as follows:
postauth - capture credit card
capture - authorize and capture credit card
return - return money to credit card

 

For the ECheck method:

Required Fields:

-BANK_ABA_CODE
-BANK_ACCT_NUMBER
-CHECK_MICR_NUMBER
The (up to 31 digit) string at the bottom of the check. This is the only required field for the "CREDIT" payment method

Optional fields:

-USER_ACCOUNT_ID
-BANK_ACCT_TYPE
It can have two values: CHECKING or SAVINGS
-TRANSACTION_TYPE
It can have two values: 'business' or 'personal'

 

For the ACH method:

Required Fields:

-CHECK_MICR_NUMBER
the (up to 31 digit) string at the bottom of the check

Optional fields:

-USER_ACCOUNT_ID

 

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