diff options
author | Mark Wells <mark@freeside.biz> | 2013-10-03 17:29:21 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2013-10-03 17:29:21 -0700 |
commit | 5d1f486c543c2e61cea6c050bed86c0c9815085e (patch) | |
tree | faf4aed245c16249ced8f80d3a8587f17c25d16b /FS/FS/cust_payby.pm | |
parent | 83a88f9294aa7db638e316df1ed0964901cdb370 (diff) |
clean up some cust_payby upgrade issues, #23741
Diffstat (limited to 'FS/FS/cust_payby.pm')
-rw-r--r-- | FS/FS/cust_payby.pm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/FS/FS/cust_payby.pm b/FS/FS/cust_payby.pm index 5914ab5..d78c574 100644 --- a/FS/FS/cust_payby.pm +++ b/FS/FS/cust_payby.pm @@ -7,9 +7,11 @@ use FS::Record qw( qsearchs ); #qsearch; use FS::payby; use FS::cust_main; use Business::CreditCard qw( validate cardtype ); +use FS::Msgcat qw( gettext ); use vars qw( $conf @encrypted_fields $ignore_expired_card $ignore_banned_card + $ignore_invalid_card ); @encrypted_fields = ('payinfo', 'paycvv'); @@ -17,10 +19,12 @@ sub nohistory_fields { ('payinfo', 'paycvv'); } $ignore_expired_card = 0; $ignore_banned_card = 0; +$ignore_invalid_card = 0; install_callback FS::UID sub { $conf = new FS::Conf; #yes, need it for stuff below (prolly should be cached) + $ignore_invalid_card = $conf->exists('allow_invalid_cards'); }; =head1 NAME @@ -197,7 +201,8 @@ sub check { # Need some kind of global flag to accept invalid cards, for testing # on scrubbed data. #XXX if ( !$import && $check_payinfo && $self->payby =~ /^(CARD|DCRD)$/ ) { - if ( $check_payinfo && $self->payby =~ /^(CARD|DCRD)$/ ) { + if ( !$ignore_invalid_card && + $check_payinfo && $self->payby =~ /^(CARD|DCRD)$/ ) { my $payinfo = $self->payinfo; $payinfo =~ s/\D//g; @@ -269,7 +274,8 @@ sub check { $self->payissue(''); } - } elsif ( $check_payinfo && $self->payby =~ /^(CHEK|DCHK)$/ ) { + } elsif ( !$ignore_invalid_card && + $check_payinfo && $self->payby =~ /^(CHEK|DCHK)$/ ) { my $payinfo = $self->payinfo; $payinfo =~ s/[^\d\@\.]//g; |