The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Business::OnlinePayment::IPPay - 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',
UserIPAddress        => '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 <ivan-ippay@freeside.biz>

Reverse Authorization patch from dougforpres

COPYRIGHT AND LICENSE

Copyright (c) 1999 Jason Kohles Copyright (c) 2002-2003 Ivan Kohler Copyright (c) 2008-2022 Freeside Internet Services, Inc.

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

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/

SEE ALSO

perl(1). Business::OnlinePayment.