diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-02-23 15:18:52 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-02-23 15:18:52 -0800 |
commit | 34c0d2df4fc583073c164fc60653b485a4f4737f (patch) | |
tree | ee744db20a1ae8c8775c22c31ca939f6dc64293f | |
parent | e0a6fad4e70e9027386be67c7cc38ad1337715fb (diff) |
fix "Unknown card type" error when using tokenization on v3? RT#74750
-rw-r--r-- | FS/FS/cust_main.pm | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 54f561309..cfe93a96a 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1968,7 +1968,19 @@ sub check { validate($payinfo) or return gettext('invalid_card'); # . ": ". $self->payinfo; - my $cardtype = cardtype($payinfo); + my $cardtype = $self->paycardtype; + if ( $payinfo =~ /^99\d{14}$/ ) { + $self->('is_tokenized', 'Y'); #so we don't try to do it again + if ( $self->paymask =~ /^\d+x/ ) { + $cardtype = cardtype($self->paymask); + } else { + #return "paycardtype required ". + # "(can't derive from a token and no paymask w/prefix provided)" + # unless $cardtype; + } + } else { + $cardtype = cardtype($self->payinfo); + } return gettext('unknown_card_type') if $cardtype eq 'Unknown'; |