From 76e9eb92ac1dc0f8fc70a18f2cf5651afd1df301 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 15 Aug 2013 16:50:02 -0700 Subject: [PATCH] failure status --- BatchPayment/Batch.pm | 1 - BatchPayment/Item.pm | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) 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 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 { -- 2.11.0