0.05
authorMark Wells <mark@freeside.biz>
Tue, 26 Jan 2016 23:53:17 +0000 (15:53 -0800)
committerMark Wells <mark@freeside.biz>
Tue, 26 Jan 2016 23:53:17 +0000 (15:53 -0800)
Changes
Paymentech.pm
debian/changelog
debian/control
debian/source/format

diff --git a/Changes b/Changes
index dccdee5..0f29d09 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,7 +1,10 @@
 Revision history for Business-BatchPayment-Paymentech
 
-0.05    unreleased
+0.05    Tue Jan 26 15:51:53 PST 2016
         - enforce field lengths in raw bytes
+        - support recurring_billing flag
+        - support failure_status
+        - fix credit card expiration dates
 
 0.04    unreleased
         - make filenames unique when sending multiple batches
index 9eec935..e5af614 100644 (file)
@@ -152,12 +152,13 @@ sub format_item {
       terminalID   => $self->terminalID,
     );
     if ($item->payment_type eq 'CC') {
+      my $expiration = $item->expiration;
+      $expiration =~ s/\D//g;
       push @order, (
         ccAccountNum => $item->card_number,
-        ccExp        => $item->expiration,
+        ccExp        => $expiration,
       );
-    }
-    elsif ( $item->payment_type eq 'ECHECK' ) {
+    } elsif ( $item->payment_type eq 'ECHECK' ) {
       push @order, (
         cardBrand       => 'EC',
         ecpCheckRT      => $item->routing_code,
@@ -165,10 +166,15 @@ sub format_item {
         ecpBankAcctType => $BankAcctType{ $item->account_type },
         ecpDelvMethod   => 'A',
       );
-    }
-    else {
+    } else {
       die "payment type ".$item->type." not supported";
     }
+    if ( $item->recurring_billing eq 'F' ) {
+      push @order, ( recurringInd => 'RF' );
+    } elsif ( $item->recurring_billing eq 'S' ) {
+      push @order, ( recurringInd => 'RS' );
+    } # else don't send recurringInd at all
+
     push @order, (
       avsZip         => $item->zip,
       avsAddress1    => bytes_substr($item->address,   0, 30),
@@ -294,10 +300,10 @@ sub parse_item {
 sub bytes_substr {
   my ($string, $offset, $length, $repl) = @_;
   my $bytes = substr(
-    Encode::encode('utf8', $string),
+    Encode::encode('utf8', $string || ''),
     $offset,
     $length,
-    Encode::encode('utf8', $repl)
+    Encode::encode('utf8', $repl || '')
   );
   return Encode::decode('utf8', $bytes, Encode::FB_QUIET);
 } 
index 5c8b561..03881d5 100644 (file)
@@ -1,4 +1,4 @@
-libbusiness-batchpayment-paymentech-perl (0.01-1) unstable; urgency=low
+libbusiness-batchpayment-paymentech-perl (0.05) unstable; urgency=low
 
   * Initial Debian package release.
 
index 85d1abe..8951425 100644 (file)
@@ -3,8 +3,11 @@ Section: perl
 Priority: optional
 Maintainer: Mark Wells <mark@freeside.biz>
 Build-Depends: debhelper (>= 9)
-Build-Depends-Indep: libbusiness-batchpayment-perl,
+Build-Depends-Indep: libbusiness-batchpayment-perl (>= 0.03),
  libmoose-perl (>= 1.09),
+ libxml-writer-perl,
+ libxml-simple-perl,
+ libdatetime-perl,
  perl
 Standards-Version: 3.9.5
 Homepage: https://metacpan.org/release/Business-BatchPayment-Paymentech
index af745b3..89ae9db 100644 (file)
@@ -1 +1 @@
-3.0 (git)
+3.0 (native)