diff options
Diffstat (limited to 'USAePay.pm')
-rw-r--r-- | USAePay.pm | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -15,7 +15,7 @@ $DEBUG = 0; sub _info { { - 'info_compat' => '0.01', + 'info_compat' => '0.02', 'gateway_name' => 'USAePay', 'gateway_url' => 'http://www.usaepay.com', 'module_version' => $VERSION, @@ -79,9 +79,12 @@ sub map_fields { } $content{'action'} = $actions{lc($content{'action'})} || $content{'action'}; - $content{'expiration'} =~ s/\D//g; + $content{'expiration'} =~ s/\D//g if exists $content{'expiration'}; - $content{'md5hash'} = md5_hex(join(':', map "$content{$_}", qw(action password amount invoice_number md5key))) if defined $content{'password'}; + $content{'md5hash'} = + md5_hex( join(':', map { defined($content{$_}) ? $content{$_} : '' } + qw(action password amount invoice_number md5key))) + if defined $content{'password'}; $self->content(%content); } @@ -151,12 +154,15 @@ sub submit { UMdlstate UMclerk UMterminal UMtable UMip UMsoftware UMredir UMredirApproved UMredirDeclined UMechofields UMtestmode ) ); + # test_transaction(0): normal mode # 1 : test mode (validates formatting only) # 2 : use sandbox server # 3 : test mode on sandbox server - $self->server('sandbox.usaepay.com') if ( $self->test_transaction & 2 ); - $post_data{'UMtestmode'} = ($self->test_transaction() & 1) ? 1 : 0; + my $test = $self->test_transaction || 0; + $self->server('sandbox.usaepay.com') if ( $test & 2 ); + $post_data{'UMtestmode'} = ($test & 1) ? 1 : 0; + $post_data{'UMsoftware'} = __PACKAGE__. " $VERSION"; if ( $DEBUG ) { warn "post_data:$_ => $post_data{$_}\n" foreach keys %post_data; @@ -241,7 +247,9 @@ http://www.usaepay.com/topics/api.html for details. =head1 AUTHOR -Jeff Finucane <jeff@cmh.net> +Original author: Jeff Finucane <jeff@cmh.net> + +0.02 update and current maintainer: Ivan Kohler <ivan-usaepay@freeside.biz> =head1 SEE ALSO |