+ # 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*$/ ) {
+ $self->paycvv($old->paycvv);
+ }
+ }
+