X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpayinfo_Mixin.pm;h=e14c5895fadda5e56d6130e2682de32a8491211e;hb=b7cf1606a66cca95e3540f803ffa66d223f23a40;hp=6d58a3d67785b24b36208b36090aca24ded4b5be;hpb=68de99533d0612144562b0ecf8e95b3d89aa9a18;p=freeside.git diff --git a/FS/FS/payinfo_Mixin.pm b/FS/FS/payinfo_Mixin.pm index 6d58a3d67..e14c5895f 100644 --- a/FS/FS/payinfo_Mixin.pm +++ b/FS/FS/payinfo_Mixin.pm @@ -159,6 +159,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; } @@ -246,7 +253,18 @@ sub payby_payinfo_pretty { if ( $self->payby eq 'CARD' ) { $lh->maketext('Card #') . $self->paymask; } elsif ( $self->payby eq 'CHEK' ) { - $lh->maketext('E-check acct#') . $self->payinfo; + + #false laziness w/view/cust_main/payment_history.html::translate_payinfo + my( $account, $aba ) = split('@', $self->paymask ); + + if ( $aba =~ /^(\d{5})\.(\d{3})$/ ) { #blame canada + my($branch, $routing) = ($1, $2); + $lh->maketext("Routing [_1], Branch [_2], Acct [_3]", + $routing, $branch, $account); + } else { + $lh->maketext("Routing [_1], Acct [_2]", $aba, $account); + } + } elsif ( $self->payby eq 'BILL' ) { $lh->maketext('Check #') . $self->payinfo; } elsif ( $self->payby eq 'PREP' ) { @@ -258,6 +276,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 {