Fix voids even if an amount is passed (now ignored)
[Business-OnlinePayment-eSelectPlus.git] / eSelectPlus.pm
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' ) {
+      } 
 
     }