summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-01-25 16:52:42 -0800
committerMark Wells <mark@freeside.biz>2016-01-25 16:52:42 -0800
commit6196755465ffb53cc9a49c17e730f6b79f522ce7 (patch)
treeba396dd297dba9f0e2bb1101b83e82e811f1cd64
parent51ab5dd7278ee7651a2880d2ecee6e6c1c80b3a5 (diff)
recurring_billing parameter
-rw-r--r--BatchPayment/Item.pm21
1 files changed, 19 insertions, 2 deletions
diff --git a/BatchPayment/Item.pm b/BatchPayment/Item.pm
index c719efc..c9a09b2 100644
--- a/BatchPayment/Item.pm
+++ b/BatchPayment/Item.pm
@@ -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' );