summaryrefslogtreecommitdiff
path: root/FS/FS/payinfo_Mixin.pm
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-11-15 03:08:29 -0600
committerJonathan Prykop <jonathan@freeside.biz>2016-11-15 03:08:29 -0600
commitca870678fbcc49f24e3ccbba899c974938c77336 (patch)
tree6ae9b2970d582fa97b1c03122ee32ea982bc2bd3 /FS/FS/payinfo_Mixin.pm
parenteb58fee531cc006272224446e5a518085c4ec9be (diff)
71513: Card tokenization [remove_card_numbers subroutine]
Diffstat (limited to 'FS/FS/payinfo_Mixin.pm')
-rw-r--r--FS/FS/payinfo_Mixin.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/FS/FS/payinfo_Mixin.pm b/FS/FS/payinfo_Mixin.pm
index dfcce2f..7a3dcf0 100644
--- a/FS/FS/payinfo_Mixin.pm
+++ b/FS/FS/payinfo_Mixin.pm
@@ -194,6 +194,8 @@ sub payinfo_check {
FS::payby->can_payby($self->table, $self->payby)
or return "Illegal payby: ". $self->payby;
+ my $conf = new FS::Conf;
+
if ( $self->payby eq 'CARD' && ! $self->is_encrypted($self->payinfo) ) {
my $payinfo = $self->payinfo;
@@ -212,8 +214,10 @@ sub payinfo_check {
$self->payinfo($1);
validate($self->payinfo) or return "Illegal credit card number";
return "Unknown card type" if $cardtype eq "Unknown";
+ return "Card number not tokenized"
+ if $conf->exists('no_saved_cardnumbers') && !$self->tokenized;
} else {
- $self->payinfo('N/A'); #???
+ $self->payinfo('N/A'); #??? re-masks card
}
}
} else {