projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix errors about expired cards from automatic encryption enabling, RT#74905, RT#74085
[freeside.git]
/
FS
/
FS
/
payinfo_Mixin.pm
diff --git
a/FS/FS/payinfo_Mixin.pm
b/FS/FS/payinfo_Mixin.pm
index
7a3dcf0
..
1c45720
100644
(file)
--- a/
FS/FS/payinfo_Mixin.pm
+++ b/
FS/FS/payinfo_Mixin.pm
@@
-8,7
+8,8
@@
use FS::UID qw(driver_name);
use FS::Cursor;
use Time::Local qw(timelocal);
use FS::Cursor;
use Time::Local qw(timelocal);
-use vars qw($ignore_masked_payinfo);
+# allow_closed_replace only relevant to cust_pay/cust_refund, for upgrade tokenizing
+use vars qw( $ignore_masked_payinfo $allow_closed_replace );
=head1 NAME
=head1 NAME
@@
-194,8
+195,6
@@
sub payinfo_check {
FS::payby->can_payby($self->table, $self->payby)
or return "Illegal payby: ". $self->payby;
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;
if ( $self->payby eq 'CARD' && ! $self->is_encrypted($self->payinfo) ) {
my $payinfo = $self->payinfo;
@@
-214,8
+213,6
@@
sub payinfo_check {
$self->payinfo($1);
validate($self->payinfo) or return "Illegal credit card number";
return "Unknown card type" if $cardtype eq "Unknown";
$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'); #??? re-masks card
}
} else {
$self->payinfo('N/A'); #??? re-masks card
}
@@
-310,13
+307,12
@@
sub payinfo_used {
my $payinfo = shift || $self->payinfo;
my %hash = (
'custnum' => $self->custnum,
my $payinfo = shift || $self->payinfo;
my %hash = (
'custnum' => $self->custnum,
- 'payby' =>
'CARD'
,
+ 'payby' =>
$self->payby
,
);
return 1
if qsearch('cust_pay', { %hash, 'payinfo' => $payinfo } )
);
return 1
if qsearch('cust_pay', { %hash, 'payinfo' => $payinfo } )
- || qsearch('cust_pay',
- { %hash, 'paymask' => $self->mask_payinfo('CARD', $payinfo) } )
+ || qsearch('cust_pay', { %hash, 'paymask' => $self->mask_payinfo } )
;
return 0;
;
return 0;
@@
-469,6
+465,7
@@
Optionally, an arbitrary payby and payinfo can be passed.
sub tokenized {
my $self = shift;
my $payinfo = scalar(@_) ? shift : $self->payinfo;
sub tokenized {
my $self = shift;
my $payinfo = scalar(@_) ? shift : $self->payinfo;
+ return 0 unless $payinfo; #avoid uninitialized value error
$payinfo =~ /^99\d{14}$/;
}
$payinfo =~ /^99\d{14}$/;
}