1.02 version can now parse BofA's new, incompatible settlement return
[Business-OnlinePayment-BankOfAmerica.git] / BankOfAmerica.pm
index 23ca8c9..8eeac99 100644 (file)
@@ -1,6 +1,6 @@
 package Business::OnlinePayment::BankOfAmerica;
 
-# $Id: BankOfAmerica.pm,v 1.2 2002-08-14 01:01:16 ivan Exp $
+# $Id: BankOfAmerica.pm,v 1.3 2002-11-19 23:41:24 ivan Exp $
 
 use strict;
 use Carp qw(croak);
@@ -14,7 +14,7 @@ require Exporter;
 @ISA = qw(Exporter AutoLoader Business::OnlinePayment);
 @EXPORT = qw();
 @EXPORT_OK = qw();
-$VERSION = '1.01';
+$VERSION = '1.02';
 
 sub set_defaults {
     my $self = shift;
@@ -162,8 +162,8 @@ sub submit {
 
     my %post_data = $self->get_fields( @fields );
 
-    warn "$_ => $post_data{$_}\n" for keys %post_data;
-    warn "\n";
+#    warn "$_ => $post_data{$_}\n" for keys %post_data;
+#    warn "\n";
     my $pd = make_form(%post_data);
     my $s = $self->server();
     my $p = $self->port();
@@ -174,17 +174,23 @@ sub submit {
 
     my %response;
     if ( $action eq 'post authorization' ) {
-     $page =~ s/<HTML>.*//s;
-     $page =~ s/\n+$//;
-     %response =
-        map { /^(\w+)\=(.*)$/ or /^()()$/ or die $_; lc($1) => $2 }
-          split(/\r/, $page);
+#      warn $page;
+      #$page =~ s/<HTML>.*//s;
+      #$page =~ s/\n+$//g;
+      $page =~ s/\r//g;
+      %response =
+        map { /^(\w+)\=(.*)$/ or /^()()$/ or die "unparsable response: $_";
+              lc($1) => $2 }
+          #split(/\r/, $page);
+          split(/\n/, $page);
     } else {
       %response =
-        map { /^(\w+)\=(.*)$/ or die $_; lc($1) => $2 } split(/\<BR\>/i, $page);
+        map { /^(\w+)\=(.*)$/ or die "unparsable response: $_";
+              lc($1) => $2 }
+          split(/\<BR\>/i, $page);
     }
 
-    warn "$_ => $response{$_}\n" for keys %response;
+    #warn "$_ => $response{$_}\n" for keys %response;
 
     $self->server_response($page);