NAME
Business::OnlinePayment::ElavonVirtualMerchant - Elavon Virtual Merchant backend for Business::OnlinePayment
SYNOPSIS
use Business::OnlinePayment::ElavonVirtualMerchant;
my $tx = new Business::OnlinePayment("ElavonVirtualMerchant", { default_ssl_userid => 'whatever' });
$tx->content(
type => 'VISA',
login => 'testdrive',
password => '', #password or transaction key
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
customer_id => 'jsk',
first_name => 'Jason',
last_name => 'Kohles',
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";
}
DESCRIPTION
This module lets you use the Elavon (formerly Nova Information Systems) Virtual Merchant real-time payment gateway, a successor to viaKlix, from an application that uses the Business::OnlinePayment interface.
You need an account with Elavon. Elavon uses a three-part set of credentials to allow you to configure multiple 'virtual terminals'. Since Business::OnlinePayment only passes a login and password with each transaction, you must pass the third item, the user_id, to the constructor.
Elavon offers a number of transaction types, including electronic gift card operations and 'PINless debit'. Of these, only credit card transactions fit the Business::OnlinePayment model.
Since the Virtual Merchant API is just a newer version of the viaKlix API, this module subclasses Business::OnlinePayment::viaKlix.
This module does not use Elavon's XML encoding as this doesn't appear to offer any benefit over the standard encoding.
SUBROUTINES
set_defaults
Sets defaults for the Virtual Merchant gateway URL.
_map_fields
Converts credit card types and transaction types from the Business::OnlinePayment values to Elavon's.
submit
Maps data from Business::OnlinePayment name space to Elavon's, checks that all required fields for the transaction type are present, and submits the transaction. Saves the results.
SEE ALSO
Business::OnlinePayment, Business::OnlinePayment::viaKlix, Elavon Virtual Merchant Developers' Guide
AUTHOR
Richard Siddall, <elavon@elirion.net>
BUGS
Duplicates code to handle deprecated 'type' codes.
Method for passing raw card track data is not documented by Elavon.
COPYRIGHT AND LICENSE
Copyright (C) 2009 by Richard Siddall. This module is largely based on Business::OnlinePayment::viaKlix by Jeff Finucane.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.