recurring_billing parameter
authorMark Wells <mark@freeside.biz>
Tue, 26 Jan 2016 00:52:42 +0000 (16:52 -0800)
committerMark Wells <mark@freeside.biz>
Tue, 26 Jan 2016 00:52:42 +0000 (16:52 -0800)
BatchPayment/Item.pm

index c719efc..c9a09b2 100644 (file)
@@ -142,6 +142,20 @@ batch.
 
 An invoice number, for your use.
 
+=item recurring_billing
+
+A flag indicating whether this is a "recurring" transaction. Different
+processors interpret this differently, but the interface defines three kinds
+of payments:
+
+N: non-recurring; the customer is not expected to make another payment using
+the same card or bank account.
+
+F: first use; the customer has never used this card/account before but is 
+expected to use it again.
+
+S: subsequent; the customer has used the card/account in the past.
+
 =cut
 
 class_type 'DateTime';
@@ -150,6 +164,9 @@ has process_date    => ( is => 'rw', isa => 'DateTime', coerce => 1 );
 
 has invoice_number  => ( is => 'rw', isa => 'Str' );
 
+enum 'Recurring_Flag' => [ 'N', 'F', 'S' ];
+has recurring_billing => ( is => 'rw', isa => 'Recurring_Flag' );
+
 =back
 
 =head2 Bank Transfer / ACH / EFT
@@ -347,7 +364,7 @@ has [qw(
   assigned_token
 )] => ( is => 'rw', isa => 'Str');
 
-enum FailureStatus => qw(
+enum FailureStatus => qw(
   expired
   nsf
   stolen
@@ -355,7 +372,7 @@ enum FailureStatus => qw(
   blacklisted
   inactive
   decline
-);
+) ];
 has failure_status  => ( is => 'rw', isa => 'Maybe[FailureStatus]' );
 
 has check_number => ( is => 'rw', isa => 'Int' );