summaryrefslogtreecommitdiff
path: root/FS/bin
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
parentbb201b08e3f48784cd77979dd4e31e866aa4f15d (diff)
RT# 83044 - fixed cc refund issues
Diffstat (limited to 'FS/bin')
-rwxr-xr-xFS/bin/freeside-paymentech-upload13
-rwxr-xr-xFS/bin/freeside-rbc-upload15
2 files changed, 23 insertions, 5 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;
}
diff --git a/FS/bin/freeside-rbc-upload b/FS/bin/freeside-rbc-upload
index 5c0ebdd2e..1d3d0ed4a 100755
--- a/FS/bin/freeside-rbc-upload
+++ b/FS/bin/freeside-rbc-upload
@@ -33,8 +33,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('RBC');
- @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('RBC');
+
+ my %hash = (
+ table => 'pay_batch',
+ hashref => \%criteria,
+ extra_sql => $extra_sql,
+ );
+
+ @batches = qsearch(\%hash);
die "No open batches found".($opt_p ? " of type '$opt_p'" : '').".\n"
if !@batches;
}
@@ -45,7 +54,7 @@ else {
die "Can't find payment batch '$batchnum'\n" if !@batches;
if ($batches[0]->type eq "CREDIT") {
warn "running credit\n";
- log_and_die( "Batch number $batchnum is a credit (batch refund) batch, and this format can not handle batch refunds.\n" )
+ 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('RBC');
}
}