IPPay(3pm)
π IPPay π
okay so this is IPPay(3pm) β the IPPay backend for Business::OnlinePayment, bestie. Perl's own user-contributed docs, and it is genuinely doing the most for you. Let's get into it π«Ά
β¨ NAME β¨
Business::OnlinePayment::IPPay β IPPay backend for Business::OnlinePayment. That's the whole vibe. It's the little bridge that lets your Perl payment code talk to IPPay. No cap. π
β¨ SYNOPSIS β¨
Here's the whole thing in action, literally copy-paste coded for you:
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";
}
the way that this justβ¦ works?? iconic. You build the object, you stuff the content in, you submit(), and then you check is_success() and either celebrate or read your error_message. π
π SUPPORTED TRANSACTION TYPES π
π³ CC, Visa, MasterCard, American Express, Discover
Content required: type, login, action, amount, card_number, expiration.
that's the bare minimum bestie, don't skimp π
π§Ύ Check
Content required: type, login, action, amount, name, account_number, routing_code.
π DESCRIPTION π
For detailed information see Business::OnlinePayment. (it's the parent, it knows everything, go ask it.)
π¦ METHODS AND FUNCTIONS π¦
See Business::OnlinePayment for the complete list. The following methods either override the methods in Business::OnlinePayment or provide additional functions. so these are the special ones, the main character ones π
result_code
Returns the response error code. your numeric "what went wrong" receipt
error_message
Returns the response error description text. the same thing but in actual words
server_response
Returns the complete response from the server. the whole raw tea, unfiltered
π Handling of content(%content) data π
action
The following actions are valid
normal authorization
authorization only
reverse authorization
post authorization
credit
void
those are your six moves, pick one and slay β¨
π§ 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',
okay the way that this is literally just a giant translation table and it ate π
Every $content{...} key you feed in lands in its IPPay-shaped slot. Note the two # forced to ISO-3166-alpha-3 ones β country and ship_country get forced into ISO-3166-alpha-3 format, that's not optional, that's just how it is bestie. And TotalAmount comes from 'amount' reformatted into cents. πͺ
π NOTE
(this section is just vibing here with nothing under it, next heading's the real one π«Ά)
π₯ COMPATIBILITY π₯
Version 0.07 changes the server name and path for IPPay's late 2012 update. so if you're on an old version and things are weird β that's why, that's the whole reason π
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
shoutout to the whole squad, we see you π«Ά
π 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. fr fr, same terms as Perl, go wild β¨
πΈ 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.
over 50 other gateways?? that's giving infrastructure legend energy π
π¦ SEE ALSO π¦
perl(1). Business::OnlinePayment.
and that's the whole page bestie!! This one's from perl v5.36.0, dated 2022-09-12, and it's the IPPay(3pm) page. go process some cards, you absolute icon π
ππ«Ά
π¦ where this page comes from
- ubuntu noble: libbusiness-onlinepayment-ippay-perl 0.12-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libbusiness-onlinepayment-ippay-perl 0.12-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libbusiness-onlinepayment-ippay-perl 0.12-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms