summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2022-03-03 17:08:30 -0800
committerIvan Kohler <ivan@freeside.biz>2022-03-03 17:08:30 -0800
commit67b494b17dc5047f7fdcdb16aa138612b520d42c (patch)
tree5b76510c0acef9e08c5637109f5d4b9e5ceda2a9 /FS
parentc71e63352e02433369be15591a89765f83cddd0c (diff)
errors adding card silently dropped since ee27cd8eea7b135db2ba8a6b1a6ac8933171d9d0 by chris, wtf, RT#77193
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cust_payby.pm25
1 files changed, 13 insertions, 12 deletions
diff --git a/FS/FS/cust_payby.pm b/FS/FS/cust_payby.pm
index 410d69093..03864ef65 100644
--- a/FS/FS/cust_payby.pm
+++ b/FS/FS/cust_payby.pm
@@ -160,9 +160,8 @@ sub insert {
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
- my $error = $self->check_payinfo_cardtype if $self->payby =~/^(CARD|DCRD)$/;
- $self->SUPER::insert unless $error;
-
+ my $error = $self->check_payinfo_cardtype
+ || $self->SUPER::insert;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
@@ -348,14 +347,16 @@ sub check {
if ( !$ignore_invalid_card &&
$check_payinfo && $self->payby =~ /^(CARD|DCRD)$/ ) {
- my $payinfo = $self->payinfo;
- $payinfo =~ s/\D//g;
- $payinfo =~ /^(\d{13,19}|\d{8,9})$/
- or return gettext('invalid_card'); #. ": ". $self->payinfo;
- $payinfo = $1;
- $self->payinfo($payinfo);
- validate($payinfo)
- or return gettext('invalid_card'); # . ": ". $self->payinfo;
+ unless ( $self->tokenized ) {
+ my $payinfo = $self->payinfo;
+ $payinfo =~ s/\D//g;
+ $payinfo =~ /^(\d{13,19}|\d{8,9})$/
+ or return gettext('invalid_card'); #. ": ". $self->payinfo;
+ $payinfo = $1;
+ $self->payinfo($payinfo);
+ validate($payinfo)
+ or return gettext('invalid_card'); # . ": ". $self->payinfo;
+ }
# see parallel checks in check_payinfo_cardtype & payinfo_Mixin::payinfo_check
my $cardtype = $self->paycardtype;
@@ -557,7 +558,7 @@ sub check_payinfo_cardtype {
return '' if $ignore_cardtype;
- return '' unless $self->payby =~ /^(CARD|CHEK)$/;
+ return '' unless $self->payby =~ /^(CARD|DCRD)$/;
my $payinfo = $self->payinfo;
$payinfo =~ s/\D//g;