summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2013-08-15 16:50:02 -0700
committerMark Wells <mark@freeside.biz>2013-08-15 16:50:02 -0700
commit76e9eb92ac1dc0f8fc70a18f2cf5651afd1df301 (patch)
treed5ff67f1c143b8458ef82d0cd283d2b0625a6527
parent1bd6506437d1329616ee97321187b1868f6a76de (diff)
failure status
-rw-r--r--BatchPayment/Batch.pm1
-rw-r--r--BatchPayment/Item.pm33
2 files changed, 33 insertions, 1 deletions
diff --git a/BatchPayment/Batch.pm b/BatchPayment/Batch.pm
index 16f1738..b05eb80 100644
--- a/BatchPayment/Batch.pm
+++ b/BatchPayment/Batch.pm
@@ -82,7 +82,6 @@ has items => (
);
class_type 'DateTime';
-coerce 'DateTime', from 'Int', via { DateTime->from_epoch($_) };
has process_date => (
is => 'rw',
diff --git a/BatchPayment/Item.pm b/BatchPayment/Item.pm
index 8a203ac..996c646 100644
--- a/BatchPayment/Item.pm
+++ b/BatchPayment/Item.pm
@@ -310,6 +310,28 @@ account again.
The message returned by the gateway. This may contain a value even
if the payment was successful (use C<approved> to determine that.)
+=item failure_status
+
+A normalized failure status, from the following list:
+
+=over 4
+
+=item expired
+
+=item nsf (non-sufficient funds / credit limit)
+
+=item stolen
+
+=item pickup
+
+=item blacklisted
+
+=item inactive
+
+=item decline (other card/transaction declines)
+
+=back
+
=back
=cut
@@ -325,6 +347,17 @@ has [qw(
assigned_token
)] => ( is => 'rw', isa => 'Str');
+enum FailureStatus => qw(
+ expired
+ nsf
+ stolen
+ pickup
+ blacklisted
+ inactive
+ decline
+);
+has failure_status => ( is => 'rw', isa => 'Maybe[FailureStatus]' );
+
has check_number => ( is => 'rw', isa => 'Int' );
around 'BUILDARGS' => sub {