also mask EDI acct# on invoices, #26859
authorMark Wells <mark@freeside.biz>
Tue, 28 Jan 2014 00:06:31 +0000 (16:06 -0800)
committerMark Wells <mark@freeside.biz>
Tue, 28 Jan 2014 00:06:31 +0000 (16:06 -0800)
FS/FS/payinfo_Mixin.pm

index 8e139f7..b030bd7 100644 (file)
@@ -163,6 +163,13 @@ sub mask_payinfo {
              substr($account,(length($account)-2)).
              ( length($aba) ? "@".$aba : '');
 
+    } elsif ($payby eq 'EDI') {
+      # EDI.
+      # These numbers have been seen anywhere from 8 to 30 digits, and 
+      # possibly more.  Lacking any better idea I'm going to mask all but
+      # the last 4 digits.
+      return 'x' x (length($payinfo) - 4) . substr($payinfo, -4);
+
     } else { # Tie up loose ends
       return $payinfo;
     }
@@ -273,6 +280,8 @@ sub payby_payinfo_pretty {
     $lh->maketext('Western Union');
   } elsif ( $self->payby eq 'MCRD' ) {
     $lh->maketext('Manual credit card');
+  } elsif ( $self->payby eq 'EDI' ) {
+    $lh->maketext('EDI') . ' ' . $self->paymask;
   } elsif ( $self->payby eq 'PPAL' ) {
     $lh->maketext('PayPal transaction#') . $self->order_number;
   } else {