summaryrefslogtreecommitdiff
path: root/FS/bin/freeside-eftca-upload
diff options
context:
space:
mode:
Diffstat (limited to 'FS/bin/freeside-eftca-upload')
-rwxr-xr-xFS/bin/freeside-eftca-upload12
1 files changed, 11 insertions, 1 deletions
diff --git a/FS/bin/freeside-eftca-upload b/FS/bin/freeside-eftca-upload
index 55e97744f..788de16d3 100755
--- a/FS/bin/freeside-eftca-upload
+++ b/FS/bin/freeside-eftca-upload
@@ -32,8 +32,12 @@ my @batches;
if($opt_a) {
local $@;
+
+ my %criteria= ( 'status' => 'O', 'payby' => 'CHEK' );
+ $criteria{'type'} = 'DEBIT' unless FS::pay_batch->can_handle_electronic_refunds('eft_canada');
+
eval {
- @batches = qsearch('pay_batch', { 'status' => 'O', 'payby' => 'CHEK' })
+ @batches = qsearch('pay_batch', \%criteria)
};
log_error_and_die ("Fatal database error: $@")
if $@;
@@ -51,6 +55,12 @@ else {
if $@;
log_error_and_die( "Can't find payment batch '$batchnum'\n" ) if !@batches;
+
+ if ($batches[0]->type eq "CREDIT") {
+ warn "running credit\n";
+ log_error_and_die( "Batch number $batchnum is a credit (batch refund) batch, and this format can not handle batch refunds.\n" )
+ unless FS::pay_batch->can_handle_electronic_refunds('eft_canada');
+ }
}
my $conf = new FS::Conf;