Business::OnlinePayment::IPPay(3) IPPay backend for Business::OnlinePayment

SYNOPSIS


use Business::OnlinePayment;
my $tx =
new Business::OnlinePayment( "IPPay",
'default_Origin' => 'PHONE ORDER',
);
$tx->content(
type => 'VISA',
login => 'testdrive',
password => '', #password
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
customer_id => 'tfb',
name => 'Tofu Beast',
address => '123 Anystreet',
city => 'Anywhere',
state => 'UT',
zip => '84058',
card_number => '4007000000027',
expiration => '09/02',
cvv2 => '1234', #optional
);
$tx->submit();
if($tx->is_success()) {
print "Card processed successfully: ".$tx->authorization."\n";
} else {
print "Card was rejected: ".$tx->error_message."\n";
}

SUPPORTED TRANSACTION TYPES

CC, Visa, MasterCard, American Express, Discover

Content required: type, login, action, amount, card_number, expiration.

Check

Content required: type, login, action, amount, name, account_number, routing_code.

DESCRIPTION

For detailed information see Business::OnlinePayment.

METHODS AND FUNCTIONS

See Business::OnlinePayment for the complete list. The following methods either override the methods in Business::OnlinePayment or provide additional functions.

result_code

Returns the response error code.

error_message

Returns the response error description text.

server_response

Returns the complete response from the server.

Handling of content(%content) data:

action

The following actions are valid

  normal authorization
  authorization only
  reverse authorization
  post authorization
  credit
  void

Setting IPPay parameters from content(%content)

The following rules are applied to map data to IPPay parameters from content(%content):

      # param => $content{<key>}
      TransactionType     => 'TransactionType',
      TerminalID          => 'login',
      TransactionID       => 'order_number',
      RoutingCode         => 'RoutingCode',
      Approval            => 'authorization',
      BatchID             => 'BatchID',
      Origin              => 'Origin',
      Password            => 'password',
      OrderNumber         => 'invoice_number',
      CardNum             => 'card_number',
      CVV2                => 'cvv2',
      Issue               => 'issue_number',
      CardExpMonth        => \( $month ), # MM from MM(-)YY(YY) of 'expiration'
      CardExpYear         => \( $year ), # YY from MM(-)YY(YY) of 'expiration'
      CardStartMonth      => \( $month ), # MM from MM(-)YY(YY) of 'card_start'
      CardStartYear       => \( $year ), # YY from MM(-)YY(YY) of 'card_start'
      Track1              => 'track1',
      Track2              => 'track2',
      ACH
        AccountNumber       => 'account_number',
        ABA                 => 'routing_code',
        CheckNumber         => 'check_number',
      CardName            => 'name',
      DispositionType     => 'DispositionType',
      TotalAmount         => 'amount' reformatted into cents
      FeeAmount           => 'FeeAmount',
      TaxAmount           => 'TaxAmount',
      BillingAddress      => 'address',
      BillingCity         => 'city',
      BillingStateProv    => 'state',
      BillingPostalCode   => 'zip',
      BillingCountry      => 'country',           # forced to ISO-3166-alpha-3
      BillingPhone        => 'phone',
      Email               => 'email',
      UserIPAddr          => 'customer_ip',
      UserHost            => 'UserHost',
      UDField1            => 'UDField1',
      UDField2            => 'UDField2',
      ActionCode          => 'ActionCode',
      IndustryInfo
        Type                => 'IndustryInfo',
      ShippingInfo
        CustomerPO          => 'CustomerPO',
        ShippingMethod      => 'ShippingMethod',
        ShippingName        => 'ship_name',
        ShippingAddr
          Address             => 'ship_address',
          City                => 'ship_city',
          StateProv           => 'ship_state',
          Country             => 'ship_country',  # forced to ISO-3166-alpha-3
          Phone               => 'ship_phone',

NOTE

COMPATIBILITY

Version 0.07 changes the server name and path for IPPay's late 2012 update.

Business::OnlinePayment::IPPay uses IPPay XML Product Specifications version 1.1.2.

See http://www.ippay.com/ for more information.

AUTHORS

Original author: Jeff Finucane

Current maintainer: Ivan Kohler <[email protected]>

Reverse Authorization patch from dougforpres

ADVERTISEMENT

Need a complete, open-source back-office and customer self-service solution? The Freeside software includes support for credit card and electronic check processing with IPPay and over 50 other gateways, invoicing, integrated trouble ticketing, and customer signup and self-service web interfaces.

http://freeside.biz/freeside/