summaryrefslogtreecommitdiff
path: root/FS/bin/freeside-paymentech-upload
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2019-03-15 11:29:50 -0400
committerChristopher Burger <burgerc@freeside.biz>2019-03-15 11:29:50 -0400
commit38f5c59a6a3b92881c0f60bc8dccc9acd0feef41 (patch)
tree42ba5cacaead27b0bf05fadaa0fc5a664c79d9dd /FS/bin/freeside-paymentech-upload
parentbb201b08e3f48784cd77979dd4e31e866aa4f15d (diff)
RT# 83044 - fixed cc refund issues
Diffstat (limited to 'FS/bin/freeside-paymentech-upload')
-rwxr-xr-xFS/bin/freeside-paymentech-upload13
1 files changed, 11 insertions, 2 deletions
diff --git a/FS/bin/freeside-paymentech-upload b/FS/bin/freeside-paymentech-upload
index 9903dd4aa..283781dbf 100755
--- a/FS/bin/freeside-paymentech-upload
+++ b/FS/bin/freeside-paymentech-upload
@@ -41,8 +41,17 @@ my @batches;
if($opt_a) {
my %criteria = (status => 'O');
$criteria{'payby'} = uc($opt_p) if $opt_p;
- $criteria{'type'} = 'DEBIT' unless FS::pay_batch->can_handle_electronic_refunds('paymentech');
- @batches = qsearch('pay_batch', \%criteria);
+
+ my $extra_sql;
+ $extra_sql = " AND ((payby = 'CHEK' AND type != 'CREDIT') OR (payby != 'CHEK'))" unless FS::pay_batch->can_handle_electronic_refunds('paymentech');
+
+ my %hash = (
+ table => 'pay_batch',
+ hashref => \%criteria,
+ extra_sql => $extra_sql,
+ );
+
+ @batches = qsearch(\%hash);
log_and_die("No open batches found".($opt_p ? " of type '$opt_p'" : '').".\n")
if !@batches;
}