Fix voids even if an amount is passed (now ignored)
authorIvan Kohler <ivan@freeside.biz>
Mon, 12 Nov 2012 22:30:42 +0000 (14:30 -0800)
committerIvan Kohler <ivan@freeside.biz>
Mon, 12 Nov 2012 22:30:42 +0000 (14:30 -0800)
Changes
eSelectPlus.pm

diff --git a/Changes b/Changes
index 6aa60b1..4c7fe78 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,9 @@
 Revision history for Perl extension Business::OnlinePayment::eSelectPlus
 
-0.05  Sat Nov 10 14:20:42 PST 2012
+0.06  Mon Nov 12 14:28:16 PST 2012
+        - Fix voids even if an amount is passed (now ignored)
+
+0.05  unreleased to CPAN (Sat Nov 10 14:20:42 PST 2012)
         - Pre-auth, capture/completion, voids and credits are now supported.
           Note: testing preauth seems to work only with test store #1 (CAD).
         - Backwards-compatibility note (align usage of 'authorization' &
index 8ef134f..3357703 100644 (file)
@@ -8,7 +8,7 @@ use Business::OnlinePayment::HTTPS 0.03;
 use vars qw($VERSION $DEBUG @ISA);
 
 @ISA = qw(Business::OnlinePayment::HTTPS);
-$VERSION = '0.05';
+$VERSION = '0.06';
 $DEBUG = 0;
 
 sub set_defaults {
@@ -108,9 +108,9 @@ sub submit {
 
     if ( $action =~ /^(purchase|preauth|ind_refund)$/ ) {
 
-      $self->required_fields(
-        qw( login password amount card_number expiration )
-      );
+      $self->required_fields(qw(
+        login password amount card_number expiration
+      ));
 
       #cardexpiremonth & cardexpireyear
       $self->{_content}{'expiration'} =~ /^(\d+)\D+\d*(\d{2})$/
@@ -123,18 +123,18 @@ sub submit {
 
       $self->{_content}{amount} = sprintf('%.2f', $self->{_content}{amount} );
 
-    } elsif ( $action eq 'completion' || $action eq 'purchasecorrection' ) {
+    } elsif ( $action =~ /^(completion|purchasecorrection|refund)$/ ) {
 
-      $self->{_content}{comp_amount} = delete $self->{_content}{amount}
-        if $action eq 'completion';
+      $self->required_fields(qw(
+        login password order_number authorization
+      ));
 
-      $self->required_fields( qw( login password order_number authorization ) );
-
-    } elsif ( $action eq 'refund' ) {
-
-      $self->required_fields(
-        qw( login password order_number authorization )
-      );
+      if ( $action eq 'completion' ) {
+        $self->{_content}{comp_amount} = delete $self->{_content}{amount};
+      } elsif ( $action eq 'purchasecorrection' ) {
+        delete $self->{_content}{amount};
+      #} elsif ( $action eq 'refund' ) {
+      } 
 
     }