summaryrefslogtreecommitdiff
path: root/FS/FS/cust_payby.pm
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-06-02 02:34:14 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-06-02 02:34:14 -0500
commit95502dabd865c34d1483b20c583523b12fe9332d (patch)
tree0d923c04418076bdcf4c00369e0402d347944e97 /FS/FS/cust_payby.pm
parent36245fa05ae5d9fb0ef893cdfe5ad98f88fd7e77 (diff)
RT#42394: paycvv during cust_payby replace (v4+ only) [fixed paycvv removal]
Diffstat (limited to 'FS/FS/cust_payby.pm')
-rw-r--r--FS/FS/cust_payby.pm14
1 files changed, 7 insertions, 7 deletions
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('');
}
}