@ISA = qw(Exporter Business::OnlinePayment);
@EXPORT = qw();
@EXPORT_OK = qw();
-$VERSION = '3.17';
+$VERSION = '3.18';
sub set_defaults {
my $self = shift;
? make_headers( 'Referer' => $content{'referer'} )
: "";
+ if (length $content{'password'} == 15) {
+ $content{'transaction_key'} = delete $content{'password'};
+ }
+
# stuff it back into %content
$self->content(%content);
}
phone => 'x_Phone',
fax => 'x_Fax',
email => 'x_Email',
+ email_customer => 'x_Email_Customer',
card_number => 'x_Card_Num',
expiration => 'x_Exp_Date',
cvv2 => 'x_Card_Code',
x_Ship_To_Country
x_Phone x_Fax x_Email x_Email_Customer x_Country
x_Currency_Code x_Trans_ID/);
- $post_data{'x_Test_Request'} = $self->test_transaction()?"TRUE":"FALSE";
+
+ $post_data{'x_Test_Request'} = $self->test_transaction() ? 'TRUE' : 'FALSE';
+
+ #deal with perl-style bool
+ if ( $post_data{'x_Email_Customer'}
+ && $post_data{'x_Email_Customer'} !~ /^FALSE$/i ) {
+ $post_data{'x_Email_Customer'} = 'TRUE';
+ } else {
+ $post_data{'x_Email_Customer'} = 'FALSE';
+ }
+
$post_data{'x_ADC_Delim_Data'} = 'TRUE';
$post_data{'x_delim_char'} = ',';
$post_data{'x_encap_char'} = '"';
#trim 'ip_addr="1.2.3.4"' added by eProcessingNetwork Authorize.Net compat
$page =~ s/,ip_addr="[\d\.]+"$//;
- my $csv = new Text::CSV_XS({ 'binary'=>1 });
+ my $csv = new Text::CSV_XS({ binary=>1, escape_char=>'' });
$csv->parse($page);
my @col = $csv->fields();
if($col[0] eq "1" ) { # Authorized/Pending/Test
$self->is_success(1);
$self->result_code($col[0]);
- $self->authorization($col[4]);
+ if ($col[4] =~ /^(.*)\s+(\d+)$/) { #eProcessingNetwork extra bits..
+ $self->authorization($2);
+ } else {
+ $self->authorization($col[4]);
+ }
} else {
$self->is_success(0);
$self->result_code($col[2]);
$tx->content(
type => 'VISA',
login => 'testdrive',
- password => '',
+ password => '', #password or transaction key
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
$tx->content(
type => 'VISA',
login => 'testdrive',
- password => '',
+ password => '', #password or transaction key
action => 'Authorization Only',
description => 'Business::OnlinePayment test',
amount => '49.95',
key" authentication as well support for the recurring_billing flag and the md5
method that returns the MD5 hash which is returned by the gateway.
+Steve Simitzis contributed a patch for better compatibility with
+eProcessingNetwork's AuthorizeNet compatability mode.
+
=head1 SEE ALSO
perl(1). L<Business::OnlinePayment>.
Revision history for Perl extension Business::OnlinePayment::AuthorizeNet.
+3.18 unreleased
+ - Patch From Steve Simitzis for better compatiblity with
+ eProcessingNetwork's AuthorizeNet compatability mode.
+
3.17 Tue Jul 10 21:12:46 PDT 2007
- Trim the extra 'ip_addr="1.2.3.4"' added by eProcessingNetwork's
- AuthorizetNet compatability mode.
+ AuthorizeNet compatability mode.
- add bank account type handling
3.16 Tue Nov 14 02:35:30 PST 2006