allow "Post Authorize" with order_number but no card info
[Business-OnlinePayment-AuthorizeNet.git] / AuthorizeNet.pm
index 7b4778f..82c2be1 100644 (file)
@@ -1,7 +1,5 @@
 package Business::OnlinePayment::AuthorizeNet;
 
-# $Id: AuthorizeNet.pm,v 1.19 2003-02-26 03:46:54 ivan Exp $
-
 use strict;
 use Carp;
 use Business::OnlinePayment;
@@ -135,8 +133,12 @@ sub submit {
         }
     } elsif ($self->transaction_type() eq 'CC' ) {
       if ( $self->{_content}->{action} eq 'PRIOR_AUTH_CAPTURE' ) {
-        $self->required_fields(qw/type login password action amount
-                                  card_number expiration/);
+          if ( $self->{_content}->{order_number}) {
+              $self->required_fields(qw/type login password action amount/);
+          } else {
+              $self->required_fields(qw/type login password action amount 
+                                        card_number expiration/);
+          }
       } elsif ( $self->{_content}->{action} eq 'VOID' ) {
         $self->required_fields(qw/login password action/);
       } else {
@@ -304,6 +306,9 @@ Mike Barry <mbarry@cos.com> sent in a patch for the referer field.
 
 Yuri V. Mkrtumyan <yuramk@novosoft.ru> sent in a patch to add the void action.
 
+Paul Zimmer <AuthorizeNetpm@pzimmer.box.bepress.com> sent in a patch for
+card-less post authorizations.
+
 =head1 SEE ALSO
 
 perl(1). L<Business::OnlinePayment>.