projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RT# 83306 - fixed realtime refunds
[freeside.git]
/
httemplate
/
edit
/
process
/
cust_refund.cgi
diff --git
a/httemplate/edit/process/cust_refund.cgi
b/httemplate/edit/process/cust_refund.cgi
index
9175eb1
..
d582b12
100755
(executable)
--- a/
httemplate/edit/process/cust_refund.cgi
+++ b/
httemplate/edit/process/cust_refund.cgi
@@
-39,6
+39,13
@@
$cgi->param('reasonnum') =~ /^(-?\d+)$/ or die "Illegal reasonnum";
my ($reasonnum, $error) = $m->comp('/misc/process/elements/reason');
$cgi->param('reasonnum', $reasonnum) unless $error;
my ($reasonnum, $error) = $m->comp('/misc/process/elements/reason');
$cgi->param('reasonnum', $reasonnum) unless $error;
+if ( $cgi->param('batch') ) {
+ $error = "No batch download format configured that allows electronic refunds via batch processing."
+ unless (FS::pay_batch->can_handle_electronic_refunds && !$error);
+}
+
+#die "my error\n".$error;
+
if ( $error ) {
# do nothing
} elsif ( $payby =~ /^(CARD|CHEK)$/ ) {
if ( $error ) {
# do nothing
} elsif ( $payby =~ /^(CARD|CHEK)$/ ) {
@@
-53,7
+60,7
@@
if ( $error ) {
'CHEK' => 'electronic check (ACH)',
);
'CHEK' => 'electronic check (ACH)',
);
-my( $cust_pay, $cust_payby, $payinfo, $paycvv, $month, $year, $payname );
+my( $cust_pay, $cust_payby, $payinfo, $paycvv, $month, $year, $payname
, $paycardtype
);
my $paymask = '';
## get cust pay info if paynum exists
my $paymask = '';
## get cust pay info if paynum exists
@@
-87,6
+94,7
@@
if ( (my $custpaybynum = scalar($cgi->param('custpaybynum'))) > 0 ) {
} elsif ( $cgi->param('paynum') > 0) {
$payinfo = $cust_pay->payinfo;
} elsif ( $cgi->param('paynum') > 0) {
$payinfo = $cust_pay->payinfo;
+ $paycardtype = $cust_pay->paycardtype;
$payname = $cust_pay->payname;
} else {
$payname = $cust_pay->payname;
} else {
@@
-233,6
+241,10
@@
if ( (my $custpaybynum = scalar($cgi->param('custpaybynum'))) > 0 ) {
$_, scalar($cgi->param($_))
} fields('cust_refund');
$_, scalar($cgi->param($_))
} fields('cust_refund');
+ $hash{'payinfo'} = $payinfo;
+ $hash{'paymask'} = $paymask;
+ $hash{'paycardtype'} = $paycardtype;
+
## unapply payment before creating refund.
while ( $cust_pay && $cust_pay->unapplied < $refund ) {
my @cust_bill_pay = $cust_pay->cust_bill_pay;
## unapply payment before creating refund.
while ( $cust_pay && $cust_pay->unapplied < $refund ) {
my @cust_bill_pay = $cust_pay->cust_bill_pay;