From 8196faffdbc0abc43ce346119a76430c8a242b56 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Thu, 18 May 2017 11:58:26 -0400 Subject: RT# 74435 - Adding option to allow refunds using electronic check batch with RBC format. --- FS/FS/Schema.pm | 1 + FS/FS/cust_main/Billing_Batch.pm | 3 ++- FS/FS/pay_batch/RBC.pm | 7 ++++++- 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'FS') diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 1ee7093..22fa395 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -2715,6 +2715,7 @@ sub tables_hashref { 'status', 'varchar', 'NULL', $char_d, '', '', 'failure_status','varchar', 'NULL', 16, '', '', 'error_message', 'varchar', 'NULL', $char_d, '', '', + 'paycode', 'varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'paybatchnum', 'unique' => [], diff --git a/FS/FS/cust_main/Billing_Batch.pm b/FS/FS/cust_main/Billing_Batch.pm index 48854d3..38d100e 100644 --- a/FS/FS/cust_main/Billing_Batch.pm +++ b/FS/FS/cust_main/Billing_Batch.pm @@ -114,7 +114,7 @@ sub batch_card { } ); foreach (qw( address1 address2 city state zip country latitude longitude - payby payinfo paydate payname )) + payby payinfo paydate payname paycode )) { $options{$_} = '' unless exists($options{$_}); } @@ -142,6 +142,7 @@ sub batch_card { 'payname' => $options{payname} || $cust_payby->payname, 'paytype' => $options{paytype} || $cust_payby->paytype, 'amount' => $amount, # consolidating + 'paycode' => $options{paycode} || $cust_payby->paycode, } ); $cust_pay_batch->paybatchnum($old_cust_pay_batch->paybatchnum) diff --git a/FS/FS/pay_batch/RBC.pm b/FS/FS/pay_batch/RBC.pm index 18a6170..dea89cd 100644 --- a/FS/FS/pay_batch/RBC.pm +++ b/FS/FS/pay_batch/RBC.pm @@ -178,8 +178,13 @@ $name = 'RBC'; my $custname = $cust_pay_batch->cust_main->batch_payment_payname($cust_pay_batch); $i++; + + ## 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; + sprintf("%06u", $i). - 'D'. + $debitorcredit. sprintf("%3s",$trans_code). sprintf("%10s",$client_num). ' '. -- cgit v1.1