RT# 81616 Mask CVV on Process Card Payment page
authorMitch Jackson <mitch@freeside.biz>
Sun, 4 Nov 2018 15:07:30 +0000 (10:07 -0500)
committerMitch Jackson <mitch@freeside.biz>
Sun, 4 Nov 2018 15:14:27 +0000 (10:14 -0500)
httemplate/misc/payment.cgi
httemplate/misc/process/payment.cgi

index 9e530cf..b882da0 100644 (file)
@@ -42,7 +42,7 @@
 %   my $payname = $cust_main->first. ' '. $cust_main->getfield('last');
 %   if ( $cust_main->payby =~ /^(CARD|DCRD)$/ ) {
 %     $payinfo = $cust_main->paymask;
-%     $paycvv = $cust_main->paycvv;
+%     ( $paycvv = $cust_main->paycvv ) =~ s/./*/g;
 %     ( $month, $year ) = $cust_main->paydate_monthyear;
 %     $payname = $cust_main->payname if $cust_main->payname;
 %   } elsif ($disable_payauto_default) {
index 5f945a7..6163b93 100644 (file)
@@ -124,7 +124,9 @@ if ( $payby eq 'CHEK' ) {
 
   if ( defined $cust_main->dbdef_table->column('paycvv') ) {
     if ( length($cgi->param('paycvv') ) ) {
-      if ( cardtype($payinfo) eq 'American Express card' ) {
+      if ( $cgi->param('paycvv') =~ /^\*+$/ ) {
+        $paycvv = $cust_main->paycvv;
+      } elsif ( cardtype($payinfo) eq 'American Express card' ) {
         $cgi->param('paycvv') =~ /^(\d{4})$/
           or errorpage("CVV2 (CID) for American Express cards is four digits.");
         $paycvv = $1;