[freeside-commits] branch FREESIDE_3_BRANCH updated. e71385999723463e1310b0496b78f0065baef548

Christopher Burger burgerc at freeside.biz
Mon Apr 1 08:04:35 PDT 2019


The branch, FREESIDE_3_BRANCH has been updated
       via  e71385999723463e1310b0496b78f0065baef548 (commit)
       via  f70d108014b903246d4f13a04b6be717b328274e (commit)
      from  833839f66761df30a0b0b965ed4314cce32f8f3d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e71385999723463e1310b0496b78f0065baef548
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Fri Mar 29 14:24:41 2019 -0400

    RT# 74789 - updated format to handle credits in seperated batch files

diff --git a/FS/FS/pay_batch/td_eft1464.pm b/FS/FS/pay_batch/td_eft1464.pm
index 3c60035ce..e16b0ee39 100644
--- a/FS/FS/pay_batch/td_eft1464.pm
+++ b/FS/FS/pay_batch/td_eft1464.pm
@@ -48,6 +48,7 @@ my $i;
 
 $name = 'td_eft1464';
 # TD Bank EFT 1464 Byte format
+# https://www.payments.ca/sites/default/files/standard-005.pdf
 
 %import_info = ( filetype => 'NONE' ); 
 # just to suppress warning; importing this format is a fatal error
@@ -145,20 +146,29 @@ $name = 'td_eft1464';
   },
   footer => sub {
     my ($pay_batch, $batchcount, $batchtotal) = @_;
+    my $totaldebittxns = $pay_batch->type eq "DEBIT" ? $batchtotal*100 : 0;
+    my $countdebittxns = $pay_batch->type eq "DEBIT" ? $batchcount : 0;
+    my $totalcredittxns = $pay_batch->type eq "CREDIT" ? $batchtotal*100 : 0;
+    my $countcredittxns = $pay_batch->type eq "CREDIT" ? $batchcount : 0;
     join('',
       'Z',
       sprintf('%09u', $batchcount + 2),
       $opt{'origid'}, 
       $opt{'fcn'},
-      sprintf('%014.0f', $batchtotal*100), # total of debit txns
-      sprintf('%08u', $batchcount), # number of debit txns
-      '0' x 14, # total of credit txns
-      '0' x 8, # total of credit txns
+      sprintf('%014.0f', $totaldebittxns), # total of debit txns
+      sprintf('%08u', $countdebittxns), # number of debit txns
+      sprintf('%014.0f', $totalcredittxns), # total of debit txns
+      sprintf('%08u', $countcredittxns), # number of debit txns
       ' ' x 1396,
     )
   },
 );
 
+## this format can handle credit transactions
+sub can_handle_credits {
+  1;
+}
+
 sub _upgrade_gateway {
   my $conf = FS::Conf->new;
   my @batchconfig = $conf->config('batchconfig-td_eft1464');

commit f70d108014b903246d4f13a04b6be717b328274e
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Fri May 19 09:10:30 2017 -0400

    RT# 74789 - Updated electronic check batch td_eft1464 format to except refunds (bank credit).

diff --git a/FS/FS/pay_batch/td_eft1464.pm b/FS/FS/pay_batch/td_eft1464.pm
index 93612f1ea..3c60035ce 100644
--- a/FS/FS/pay_batch/td_eft1464.pm
+++ b/FS/FS/pay_batch/td_eft1464.pm
@@ -107,8 +107,13 @@ $name = 'td_eft1464';
     $i++;
     # The 1464 byte format supports up to 5 payments per line,
     # but we're only going to send 1.
+
+    ## set to D for debit by default, then override to what cust_pay_batch has as payments may not have paycode.
+    my $debitorcredit = 'D';
+    $debitorcredit = $cust_pay_batch->paycode unless !$cust_pay_batch->paycode;
+
     my $control = join('',
-      'D',                  # for 'debit'
+      $debitorcredit,       # D for 'debit' or C for Credit
       sprintf("%09u", $i),  #record number
       $opt{'origid'},
       $opt{'fcn'},

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/pay_batch/td_eft1464.pm | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)




More information about the freeside-commits mailing list