summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xFS/bin/freeside-eftca-upload6
-rwxr-xr-xFS/bin/freeside-paymentech-upload6
-rwxr-xr-xFS/bin/freeside-rbc-upload5
-rw-r--r--httemplate/misc/download-batch.cgi3
4 files changed, 19 insertions, 1 deletions
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);