From: Christopher Burger Date: Fri, 29 Mar 2019 18:24:41 +0000 (-0400) Subject: RT# 74789 - updated format to handle credits in seperated batch files X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=8a16e8aa94e23ad44c0d4d9713ca009913f15b5b 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');