summaryrefslogtreecommitdiff
path: root/httemplate/misc
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2015-10-06 00:35:18 -0500
committerJonathan Prykop <jonathan@freeside.biz>2015-10-06 00:35:18 -0500
commita267a869ad2f2c9b6ba4e306aea6103e3a6bfe4e (patch)
tree9456bc2c57d0526a1a9a22d7f4a31ecdef9fe43b /httemplate/misc
parentecc93e41eac485b6e84b844d9db8d25576dab3b9 (diff)
RT#38314: Declined payment shows card as tokenized after first attempt
Diffstat (limited to 'httemplate/misc')
-rw-r--r--httemplate/misc/process/payment.cgi7
1 files changed, 6 insertions, 1 deletions
diff --git a/httemplate/misc/process/payment.cgi b/httemplate/misc/process/payment.cgi
index d9299e5bd..efba9ed9a 100644
--- a/httemplate/misc/process/payment.cgi
+++ b/httemplate/misc/process/payment.cgi
@@ -74,11 +74,13 @@ $cgi->param('balance') =~ /^\s*(\-?\s*\d*(\.\d\d)?)\s*$/
my $balance = $1;
my $payinfo;
+my $paymask; # override only used by loaded cust payinfo, only implemented for realtime processing
my $paycvv = '';
if ( $payby eq 'CHEK' ) {
if ($cgi->param('payinfo1') =~ /xx/i || $cgi->param('payinfo2') =~ /xx/i ) {
$payinfo = $cust_main->payinfo;
+ $paymask = $cust_main->paymask;
} else {
$cgi->param('payinfo1') =~ /^(\d+)$/
or errorpage("Illegal account number ". $cgi->param('payinfo1'));
@@ -99,6 +101,7 @@ if ( $payby eq 'CHEK' ) {
$payinfo = $cgi->param('payinfo');
if ($payinfo eq $cust_main->paymask) {
$payinfo = $cust_main->payinfo;
+ $paymask = $cust_main->paymask;
}
$payinfo =~ s/\D//g;
$payinfo =~ /^(\d{13,16}|\d{8,9})$/
@@ -145,7 +148,8 @@ if ( $cgi->param('save') ) {
} else {
die "unknown payby $payby";
}
- $new->payinfo($payinfo); #to properly set paymask
+ $new->payinfo($payinfo); # sets default paymask, but not if it's already tokenized
+ $new->paymask($paymask) if $paymask; # in case it's been tokenized, override with loaded paymask
$new->set( 'paydate' => "$year-$month-01" );
$new->set( 'payname' => $payname );
@@ -199,6 +203,7 @@ if ( $cgi->param('batch') ) {
'manual' => 1,
'balance' => $balance,
'payinfo' => $payinfo,
+ 'paymask' => $paymask,
'paydate' => "$year-$month-01",
'payname' => $payname,
'payunique' => $payunique,