Provided by: interchange_5.7.7-2_amd64 bug


       Vend::Payment::BusinessOnlinePayment - Interchange wrapper for Business::OnlinePayment




           [charge mode=onlinepayment param1=value1 param2=value2]


         Business::OnlinePayment:: gateway module

         See L<> or


       This is a wrapper around Business::OnlinePayment for Interchange.

       The Vend::Payment::BusinessOnlinePayment module implements the onlinepayment() routine for
       use with Interchange.  It is compatible on a call level with the other Interchange payment
       modules.  In theory (and even usually in practice) you could switch from another gateway
       to a Business::OnlinePayment supported gateway (or between different
       Business::OnlinePayment gateways) with a few configuration file changes.

       Business::OnlinePayment is a set of related Perl modules for processing online payments
       (credit cards, electronic checks, and other payment systems).  It provides a consistant
       interface for processing online payments, regardless of the gateway backend being used, in
       the same way that DBI provides an consistant interface to different databases.

       See <>
       for more information and supported gateways.

       It is hoped that a future version of Interchange will do all credit card processing
       through Business::OnlinePayment, but this is my no means guaranteed and the timeframe is
       unknown.  Think ALSA somewhere around Linux 2.2 and you've got the general idea.

       Currently this module is recommended for people with gateway processors unsupported by a
       native Interchange Vend::Payment:: module and for the adventurous.


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

           Require module Vend::Payment::BusinessOnlinePayment

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

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

           Variable   MV_PAYMENT_MODE  onlinepayment

       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 for the mode, then finally a default global payment variable, For
       example, the "setting" parameter would be specified by:

           [charge mode=onlinepayment setting=value]


           Route onlinepayment setting value


           Variable MV_PAYMENT_SETTING      value

       The following settings are available:

           Your Business::OnlinePayment processor.

       id  Your Business::OnlinePayment login.

           Your Busienss::OnlinePayment password.

           The type of transaction to be run. Valid values are:

               Interchange         Business::OnlinePayment
               ----------------    -----------------------
                   auth            Authorization Only
                   return          Credit
                   sale            Normal Authorization
                   settle          Post Authorization
                   void            Void

           Set this true if you wish to operate in test mode.  Make sure to verify that your
           specific Business::OnlinePayment:: gateway module supports a test mode.

       In addition, any other processor options are passed to your gateway.  See the
       documentation for your specific Business::OnlinePayment:: gateway module for details on
       what options are required, if any.


       Ivan Kohler <>

       Initial development of this module was sponsored in part by Simply Marketing, Inc.


       Copyright 2004 Ivan Kohler.  All rights reserved.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

Extra query parameters

       extra_query_params "customer_id  their_param=our_param"
           This allows you to map a passed parameter to the transaction query of your module.
           Obviously the module must support it.

           The parameter comes from the parameters passed to the [charge ..] tag or the route.

           The above id passes the customer_id parameter on with a key of the same name, while
           the second sets their param "their_param" with "our_param".

Extra result parameters

       extra_result_params ""
           This allows you to map a returned parameter to the payment result hash of Interchange.