@title@ @signatory@
@context_bar;noquote@[ Administer ]
@context_bar;noquote@

Description

The @package_name@ package implements the Payment Service Contract for the EZIC on-line merchant services.

The @package_name@ is the intermediary between OpenACS packages and the EZIC credit card acceptance services. This gateway accepts calls to the Payment Service Contract operations, forwards the information to the EZIC gateway and decodes the response before returning the outcome back to the calling package while keeping a log of all communication with EZIC. The log is accessible from the @package_name@ administration.

Background

The ecommerce package originally used online merchant credit-card payment fulfillment services provided by CyberCash. Verisign bought Cybercash and merged it with their own PayflowPro service, leaving the ecommerce package without a functioning credit card payment fulfillment service.

Janine Sisk of furfly.net and Bart Teeuwisse teamed together to produce a general purpose payment service contract and to create the first implementations of the contract. Janine developed the interface to PayflowPro the successor of CyberCash while Bart created the gateway to Authorize.net.

Berklee College Of Music sponsored the creation of the Authorize.net package and its integration with the ecommerce package. King Solar sponsored the adaption of the Authorize.net Gateway to the @package_name@.

Requirements

The @package_name@ requires the AOLserver nsopenssl module to be installed. Nsopenssl provides the ns_httpsget and ns_httpspost instructions to connect to the secure ADC server. Aolserver 3.x requires nsopenssl version 2.x, Aolserver 4.x requires nsopenssl version 3.x. The latest revision is available from Aolserver.com's download area.

Please follow the installation instructions included with the software.

Oracle Admins: This release has been developed on PostgreSQL only. The database queries appear to be compatible with Oracle, however the files for creating the Oracle data-model and administrative reports have not been created. Please report any problems to package maintainer, or the bugtracker at OpenACS.org. You can also contribute patches there, for example to update Oracle support.

Note: The following is mentioned for your information only. No action is anticipated for these items.

EZIC saves credit card numbers in their database, so that merchants do not need to. Card numbers are then accessible via the transaction_id. It is theoretically possible to upgrade this package with ecommerce to use the Ecommerce package "SaveCreditCardDataP" parameter's feature while meeting current credit card security requirements.

Dqd_utils is not required or used.

EZIC Gateway requires cardholder first and last name to be supplied separately for AVS. OpenACS uses first_names and last_name fields for the user. The Ecommerce package data model combines user's first_names and last_name as default value for card_name (ec_addresses.attn). A 3 space delimiter separates the two values in the card_name field, so that gateway packages, including this one, can split the field to separate names for AVS purposes.

Configuration

The @package_name@ needs to be configured before it can connect to EZIC.com and access your account with EZIC.com Configuration is via @package_name@ parameters. The package has 8 parameters:

  1. CreditCardsAccepted

    A list of credit cards accepted by your EZIC.com account. Calling applications can use this list or overwrite it with their own list so that applications can choose to accept only a subset of the cards your EZIC account can handle.

  2. test_request

    EZIC package test mode. When true, adds communication send data to the aolserver log. Does *not* put EZIC.com's gateway in transaction test mode. The default is 'false'. EZIC response data is noted on the admin page.

    Note: For EZIC Transaction Test mode see EZIC.com :Account config :Credit cards - Optional Test Mode from the EZIC website Merchant access control pages.

  3. ezic_url

    The location (URL) of the EZIC.com Gateway. Unless you received a different location from EZIC, there is no need to change the default value.

  4. referer_url

    The location (full URL formal) of your web site where the communication with originates from. This URL will be used in the post header to EZIC.

    EZIC uses ip number filtering. Be sure to include the ip number of your server in the appropriate EZIC.com security field.

  5. ezic_login

    Your EZIC merchant or agent Account ID (not SiteID)

  6. ezic_sitetag

    Your EZIC merchant or agent Site Tag. This is optional if merchant has only configured one site in the EZIC.com merchant access area. The sitetag is defined in the EZIC ':Setup :Website config' menu area.

  7. field_encapsulator

    The field encapsulation character in the Automated Direct Connect (ADC) settings of EZIC.com. Currently, EZIC does not use this feature, so leave it blank. The code is grandfathered into this package from Authorize.net package, to make it easier to adapt to this feature, should EZIC require it at some point.

  8. field_seperator

    The field seperator in Automated Direct Connect (ADC) EZIC Direct Mode. This is the character that delimits (separates) the elements in the response from EZIC.com. As of Jan. 2004, this value is not changeable. Leave as is. Default is '&'.

Glossary

API Reference

The Payment Service Contract explains the API to other packages in detail.

Visit the EZIC Direct Mode documentation for in-depth documentation of the EZIC Direct Mode API that this package interfaces with. Be sure to review the additional security measures available via the EZIC merchant access control area and virtual terminal.

Credits

The @package_name@ was adapted by Torben Brosten for King Solar from the Authorize-Gateway Package, which was originally designed and written by Bart Teeuwisse for Berklee College Of Music while working as a subcontractor for furfly.net.

The @package_name@ is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

The @package_name@ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the GNU General Public License is included. If not write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA