Escape 0x00 (NULL) in responses from Authorize.Net. wtf?
authorivan <ivan>
Wed, 24 Apr 2002 05:02:54 +0000 (05:02 +0000)
committerivan <ivan>
Wed, 24 Apr 2002 05:02:54 +0000 (05:02 +0000)
AuthorizeNet.pm
Changes

index 569d88d..8d67a90 100644 (file)
@@ -1,6 +1,6 @@
 package Business::OnlinePayment::AuthorizeNet;
 
-# $Id: AuthorizeNet.pm,v 1.9 2002-04-24 02:39:38 ivan Exp $
+# $Id: AuthorizeNet.pm,v 1.10 2002-04-24 05:02:54 ivan Exp $
 
 use strict;
 use Business::OnlinePayment;
@@ -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);
@@ -155,7 +157,7 @@ sub submit {
         $self->result_code($col[2]);
         $self->error_message($col[3]);
         unless ( $self->result_code() ) { #additional logging information
-          $page =~ s/\x00/\^0/g;
+          #$page =~ s/\x00/\^0/g;
           $self->error_message($col[3].
             " DEBUG: No x_response_code from server, ".
             "(HTTPS response: $server_response) ".
diff --git a/Changes b/Changes
index 8a1735b..901ddc3 100644 (file)
--- a/Changes
+++ b/Changes
@@ -5,6 +5,7 @@ Revision history for Perl extension Business::OnlinePayment::AuthorizeNet.
        - extremely verbose debugging information for responses without
          response code
        - PREREQ_PM on Business::OnlinePayment
+       - Escape 0x00 (NULL) in responses from Authorize.Net.  wtf?
 
 3.10  Wed Mar 13 2002
        - updated for Authorize.Net API 3.1