For more information... RTFM!
NAVIGATION
RECENTLY VIEWED
ACCOUNT LOGIN

You are not logged in

Powered by Interchange version 5.7.0

ICS2

Interchange's support for the International Commerce Solutions Link to an external page Payment Services Provider.

Synopsis

&charge = ICS2

or

[charge route="ICS2" param1="value1" param2="value2"]

Prerequisites

Net::SSLeay

or

LWP::UserAgent and Crypt::SSLeay

Only one of the above options needs be present and working.

Description

The Vend::Payment::ICS2 module implements the ICS2() subroutine for use with Interchange.  It is compatible on a call level with the other Interchange payment modules.  In theory (and even usually in practise) you could switch from another payment module to ICS2 with a few configuration file changes.

To enable this module, place this directive in your "interchange.cfg" file:

Require  module  Vend::Payment::ICS2

This must be in interchange.cfg or a file included from it.

Make sure CreditCardAuto is off, which is the default in the Standard ecommerce demo.

The "mode" can be named anything, but the "gateway" parameter must be set to "ICS2".  To make it the default payment gateway for all credit card transactions in a specific website, you can set the following in catalog.cfg:

Variable  MV_PAYMENT_MODE  ICS2

It uses several of the standard settings from Interchange payment.  Any time we speak of a setting, it is obtained either first from the tag/call options, then from an Interchange order Route named after the mode, then finally a default global payment Variable.  For example, the merchant_id parameter would be specified by:

[charge route=ICS2 merchant_id=YourICS2ID]

or

Route  ICS2  merchant_id  YourICS2ID

or

Variable  MV_PAYMENT_ID  YourICS2ID

A fully valid catalog.cfg entry to work with the Standard demo would be:

Variable MV_PAYMENT_MODE    "__MV_PAYMENT_MODE__"
Route    ICS2  ics2id       "__ICS2_ID__"
Route    ICS2  ics2userid   "__ICS2_USERID__"
Route    ICS2  ics2storeid  "__ICS2_STOREID__"
Route    ICS2  ics2mode     "__ICS2_MODE__"

The variable.txt (see VariableDatabase) lines to work with the ICS2 module look like this (with tab-separated columns):

MV_PAYMENT_MODE  ICS2        Payment
ICS2_ID          XXX####     Payment
ICS2_USERID      webcl       Payment
ICS2_STOREID     XXXXXXXXXX  Payment
ICS2_MODE        0           Payment

Settings

Name Description
transaction At this time, the ICS2 payment module only processes transactions of type "SALE".
test To test, set ICS2_MODE to a true value (not 0 and not NULL) in your variable.txt file.  Your transactions will then be sent to the ICS test server.
generate_error Read the ICS documentation to find out how to generate errors.  At this time, transactions ending in dollar amounts of 9 will decline, in 8 or 0 will succeed and 1-7 will get random errors.  For instance, $1.00 and $1.08 will succeed, $1.09 will decline and $1.01-$1.07 will result in random errors.

Troubleshooting

If nothing works:

  • Make sure you Required the module in interchange.cfg:

    Require module Vend::Payment::ICS2

  • Make sure either Net::SSLeay, or Crypt::SSLeay and LWP::UserAgent are installed and working.  You can test to see whether your Perl thinks they are:

    perl -MNet::SSLeay -le 'print "Available"'

    or

    perl -MLWP::UserAgent -MCrypt::SSLeay -le 'print "Available"'

    If either of the above prints "Available", and returns to the shell prompt, then you should be OK (presuming they are in working order otherwise).


  • Check the local and global error log files.

  • Make sure you set your payment parameters properly, including your account ID.

  • Try an order, then put this code in a page:

    <pre>
    [calcn]
        my $string = $Tag->uneval({ ref => $Session->{payment_result} });

        $string =~ s/{/{\n/;
        $string =~ s/,/,\n/g;

        return $string;
    [/calcn]
    </pre>

    That should show what happened.


  • If all else fails, consultants are available to help with integration for a fee.

Notes

There is actually nothing in Vend::Payment::ICS2;  This module changes its package name to Vend::Payment and places things there.

Authors

  • Originally developed by New York Connect Net (nyct.net) Michael Bacarella Email link
  • Modified for GetCareer.com by Troy Davis Email link of Slipstream.com.
  • LWP/Crypt::SSLeay interface code by Matthew Schick Email link
  • Interchange implementation by Mike Heins Email link
  • ICS2 modification by Marty Tennison.
Category:  Interchange payment modules
Last modified by: Kevin Walsh
Modification date: Tuesday 19 September 2006 at 9:30 AM (EDT)

Donations

Please contact us if you have a HOWTO-style document, or anything else you'd like to share with other Interchange users and developers.  Go on - you know you want to.

Home  |  Legal nonsense  |  Privacy policy  |  Contact us