[freeside-commits] branch master updated. a05f74b064576abc0848248fd136048f95afabe0

Christopher Burger burgerc at freeside.biz
Tue Mar 12 14:03:00 PDT 2019


The branch, master has been updated
       via  a05f74b064576abc0848248fd136048f95afabe0 (commit)
      from  b8b3ab121c9ced04b140eab79c6cea97fb4b126d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a05f74b064576abc0848248fd136048f95afabe0
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Tue Mar 12 17:02:07 2019 -0400

    RT# 82988 - added check for batch payment upload scripts to make sure they can handle credit batches.

diff --git a/FS/bin/freeside-eftca-upload b/FS/bin/freeside-eftca-upload
index 18656c97a..321b969d3 100755
--- a/FS/bin/freeside-eftca-upload
+++ b/FS/bin/freeside-eftca-upload
@@ -55,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;
diff --git a/FS/bin/freeside-paymentech-upload b/FS/bin/freeside-paymentech-upload
index 8ec8a5dd4..9903dd4aa 100755
--- a/FS/bin/freeside-paymentech-upload
+++ b/FS/bin/freeside-paymentech-upload
@@ -51,6 +51,12 @@ else {
   log_and_die("batchnum not passed\n".&usage) if !$batchnum;
   @batches = qsearchs('pay_batch', { batchnum => $batchnum } );
   log_and_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" )
+      unless FS::pay_batch->can_handle_electronic_refunds('paymentech');
+  }
 }
 
 my $conf = new FS::Conf;
diff --git a/FS/bin/freeside-rbc-upload b/FS/bin/freeside-rbc-upload
index 8f67a6e4f..5c0ebdd2e 100755
--- a/FS/bin/freeside-rbc-upload
+++ b/FS/bin/freeside-rbc-upload
@@ -43,6 +43,11 @@ else {
   die &usage if !$batchnum;
   @batches = qsearchs('pay_batch', { batchnum => $batchnum } );
   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" )
+      unless FS::pay_batch->can_handle_electronic_refunds('RBC');
+  }
 }
 
 my $conf = new FS::Conf;
diff --git a/httemplate/misc/download-batch.cgi b/httemplate/misc/download-batch.cgi
index c6a0b68c3..e4882d1e8 100644
--- a/httemplate/misc/download-batch.cgi
+++ b/httemplate/misc/download-batch.cgi
@@ -4,6 +4,7 @@
 http_header('Content-Type' => 'text/plain' ); # not necessarily correct...
 
 my $batchnum;
+
 if ( $cgi->param('batchnum') =~ /^(\d+)$/ ) {
   $batchnum = $1;
 } else {
@@ -29,7 +30,7 @@ die "Batch not found: '$batchnum'" if !$pay_batch;
 
 if ($pay_batch->{Hash}->{arecredits}) {
   my $export_format = "FS::pay_batch::".$opt{'format'};
-    die "This format can not handle refunds." unless $export_format->can('can_handle_credits');
+  die "You are trying to download a credit (batch refund) batch and The format ".$opt{'format'}." can not handle refunds.\n" unless $export_format->can('can_handle_credits');
 }
 
 my $exporttext = $pay_batch->export_batch(%opt);

-----------------------------------------------------------------------

Summary of changes:
 FS/bin/freeside-eftca-upload       | 6 ++++++
 FS/bin/freeside-paymentech-upload  | 6 ++++++
 FS/bin/freeside-rbc-upload         | 5 +++++
 httemplate/misc/download-batch.cgi | 3 ++-
 4 files changed, 19 insertions(+), 1 deletion(-)




More information about the freeside-commits mailing list