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 FinucaneCurrent maintainer: Ivan Kohler <[email protected]>
Reverse Authorization patch from dougforpres