- @batches = qsearch('pay_batch', { 'status' => 'O', 'payby' => 'CHEK' })
- or log_info_and_die( "Finished: No open batches found.\n" );
+ 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', \%criteria)
+ };
+ log_error_and_die ("Fatal database error: $@")
+ if $@;
+
+ log_info_and_die( "Finished: No open batches found.\n" )
+ unless @batches;