X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main.pm;h=8cccd1830d5e7bcd3124af3b60e3ddd086db3d34;hb=f77e374df4ab10b25cb265e260bc71751d3ec52e;hp=54f561309577c2b946491ca4712d84ca7f94a7ea;hpb=3994fafc85cc15e59f3eb5dda9015e651631f624;p=freeside.git diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 54f561309..8cccd1830 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->set('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';