X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-eftca-upload;h=321b969d3383607edfe949b69f64fa9c47d0ba34;hp=503c7a35a56a9740de44e25195ad40be708c0e25;hb=1f1190b8fb6d06852dbd16c6a288f9acd9cc83dd;hpb=e61149f7135b750b2b6ff6ee94f461460163ddea diff --git a/FS/bin/freeside-eftca-upload b/FS/bin/freeside-eftca-upload index 503c7a35a..321b969d3 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;