From 95502dabd865c34d1483b20c583523b12fe9332d Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Thu, 2 Jun 2016 02:34:14 -0500 Subject: RT#42394: paycvv during cust_payby replace (v4+ only) [fixed paycvv removal] --- FS/FS/cust_payby.pm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'FS/FS/cust_payby.pm') diff --git a/FS/FS/cust_payby.pm b/FS/FS/cust_payby.pm index fd75567e6..623a44efc 100644 --- a/FS/FS/cust_payby.pm +++ b/FS/FS/cust_payby.pm @@ -217,14 +217,14 @@ sub replace { $self->payinfo($new_account.'@'.$new_aba); } - # don't preserve paycvv if it was passed blank and payinfo changed - unless ( $self->payby =~ /^(CARD|DCRD)$/ - && $old->payinfo ne $self->payinfo - && $old->paymask ne $self->paymask - && $self->paycvv =~ /^\s*$/ ) - { - if ( length($old->paycvv) && $self->paycvv =~ /^\s*[\*x]*\s*$/ ) { + # only unmask paycvv if payinfo stayed the same + if ( $self->payby =~ /^(CARD|DCRD)$/ and $self->paycvv =~ /^\s*[\*x]+\s*$/ ) { + if ( $old->payinfo eq $self->payinfo + && $old->paymask eq $self->paymask + ) { $self->paycvv($old->paycvv); + } else { + $self->paycvv(''); } } -- cgit v1.2.1