X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=AuthorizeNet.pm;h=8d67a90e3767887c3d21d41edddb1468f33e82cf;hb=8a3dedf8eb4359006c37fc147f7576f77230da5e;hp=b312a289525f78de3add4025e5cef8793d9c29e3;hpb=1b869470cbe552a25ac715cd29c6412888677771;p=Business-OnlinePayment-AuthorizeNet.git diff --git a/AuthorizeNet.pm b/AuthorizeNet.pm index b312a28..8d67a90 100644 --- a/AuthorizeNet.pm +++ b/AuthorizeNet.pm @@ -1,6 +1,6 @@ package Business::OnlinePayment::AuthorizeNet; -# $Id: AuthorizeNet.pm,v 1.6 2002-03-13 16:11:55 ivan Exp $ +# $Id: AuthorizeNet.pm,v 1.10 2002-04-24 05:02:54 ivan Exp $ use strict; use Business::OnlinePayment; @@ -13,7 +13,7 @@ require Exporter; @ISA = qw(Exporter AutoLoader Business::OnlinePayment); @EXPORT = qw(); @EXPORT_OK = qw(); -$VERSION = '3.10'; +$VERSION = '3.11'; sub set_defaults { my $self = shift; @@ -139,6 +139,8 @@ sub submit { my $p = $self->port(); my $t = $self->path(); my($page,$server_response,%headers) = post_https($s,$p,$t,'',$pd); + #escape NULL (binary 0x00) values + $page =~ s/\x00/\^0/g; my $csv = new Text::CSV_XS(); $csv->parse($page); @@ -154,6 +156,16 @@ sub submit { $self->is_success(0); $self->result_code($col[2]); $self->error_message($col[3]); + unless ( $self->result_code() ) { #additional logging information + #$page =~ s/\x00/\^0/g; + $self->error_message($col[3]. + " DEBUG: No x_response_code from server, ". + "(HTTPS response: $server_response) ". + "(HTTPS headers: ". + join(", ", map { "$_ => ". $headers{$_} } keys %headers ). ") ". + "(Raw HTTPS content: $page)" + ); + } } }