diff options
Diffstat (limited to 'FS/bin/freeside-eftca-upload')
| -rwxr-xr-x | FS/bin/freeside-eftca-upload | 12 |
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; |
