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

You are not logged in

Powered by Interchange version 5.7.0

ECHO

Interchange's support for the OpenECHO Link to an external page Payment Services Provider.

Synopsis

&charge = echo

or

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

Prerequisites

If you have not done so already, you will need to sign up for an ECHO account.  You will be provided an ID and a PIN (also known as "secret").  You may also sign up for a test account Link to an external page if you prefer.

This module makes use of the OpenECHO module.  You will need to make sure that OpenECHO.pm is in your Perl module path (@INC).  The OpenEcho.pm file is available for download from the following locations:


The OpenECHO.pm module itself has some additional prerequisites:

Net::SSLeay

or

LWP::UserAgent and Crypt::SSLeay

Only one of these needs be present and working.  Net::SSLeay is preferred, as some have reported problems using LWP::UserAgent and Crypt::SSLeay.

URL::Escape

The URL::Escape module is used to write some of the URIs used by the OpenECHO module.  It is recommended that you read the documentation for the OpenECHO module itself in addition to this document.

Description

The Vend::Payment::ECHO module implements the echo() 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 ECHO with a few configuration file changes.

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

Require  module  Vend::Payment::ECHO

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 "echo".  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  echo

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 id parameter would be specified by:

[charge route=echo id=Your_ECHO_ID]

or

Route  echo  id  Your_ECHO_ID

or

Variable  MV_PAYMENT_ID  Your_ECHO_ID

Settings

Name Description
id Your ECHO account ID, supplied by ECHO when you sign up.  The variables are MV_PAYMENT_ID or ECHO_PAYMENT_ID.
secret Your ECHO account password, supplied by ECHO when you sign up.  The variables are MV_PAYMENT_SECRET or ECHO_PAYMENT_SECRET.

Other variables

Name Example Description
MV_PAYMENT_REMAP order_id=mv_order_id auth_code=mv_auth_code If you need to perform AUTH_ONLY transactions, or others, with a special admin page.
ECHO_PAYMENT_ORDER_TYPE S S for "self-service" orders.
F for hosted or ISP orders.
ECHO_PAYMENT_ISP_ECHO_ID 123<4567890  
ECHO_PAYMENT_ISP_PIN 12345608  
ECHO_PAYMENT_MERCHANT_EMAIL merchant@example.com  
ECHO_PAYMENT_DEBUG F C causes ECHO to return a statement of conformity.
T (or TRUE) causes ECHO to return additional debug information.
Any other value turns off ECHO debugging.

Example Configuration

This is an example configuration that one would add to catalog.cfg:

Variable  MV_PAYMENT_MODE    echo
Variable  MV_PAYMENT_ID      Your_ECHO_ID
Variable  MV_PAYMENT_SECRET  Your_ECHO_secret

Troubleshooting

Then try a sale with the card number "4111 1111 1111 1111" and a valid expiration date.  The sale should be denied, and the reason should be in [data session payment_error].

If nothing works:

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

    Require module Vend::Payment::ECHO

  • Make sure that the OpenECHO.pm module is available either in your Perl module path (@INC), or in the "lib" directory, under the Interchange instance's installation directory.
  • 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 account "id" and "secret" parameters properly.

  • 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.

Security considerations

Because this library calls an executable, you should ensure that no untrusted users have write permission on any of the system directories or Interchange software directories.

Notes

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

Authors

Special thanks

Category:  Interchange payment modules
Last modified by: Kevin Walsh
Modification date: Tuesday 19 September 2006 at 9:21 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