projects
/
Business-OnlinePayment.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- CPAN Bug# 23587: _pre_submit() would return success if fraud detection is
[Business-OnlinePayment.git]
/
OnlinePayment.pm
diff --git
a/OnlinePayment.pm
b/OnlinePayment.pm
index
dbb28ce
..
f0b1a92
100644
(file)
--- a/
OnlinePayment.pm
+++ b/
OnlinePayment.pm
@@
-92,6
+92,8
@@
sub _risk_detect {
return 0;
}
return 0;
}
+my @Fraud_Class_Path = qw(Business::OnlinePayment Business::FraudDetect);
+
sub _pre_submit {
my ($self) = @_;
my $fraud_detection = $self->fraud_detect();
sub _pre_submit {
my ($self) = @_;
my $fraud_detection = $self->fraud_detect();
@@
-100,14
+102,13
@@
sub _pre_submit {
return 1 unless $fraud_detection;
# Search for an appropriate FD module
return 1 unless $fraud_detection;
# Search for an appropriate FD module
- foreach my $subclass ( q(Business::OnlinePayment::) . $fraud_detection,
- q(Business::FraudDetect::) . $fraud_detection) {
-
+ foreach my $fraud_class ( @Fraud_Class_Path ) {
+ my $subclass = $fraud_class . "::" . $fraud_detection;
if (!defined(&$subclass)) {
if (!defined(&$subclass)) {
- eval "use $subclass";
+ eval "use $subclass
()
";
if ($@) {
if ($@) {
- Carp::croak("
serious problem loading fraud_detection module ($@)") unless
-
$@ =~ m/^Can\'t locate/
;
+ Carp::croak("
error loading fraud_detection module ($@)")
+
unless ( $@ =~ m/^Can\'t locate/ )
;
} else {
my $risk_tx = bless ( { processor => $fraud_detection } , $subclass );
$risk_tx->build_subs(keys %fields);
} else {
my $risk_tx = bless ( { processor => $fraud_detection } , $subclass );
$risk_tx->build_subs(keys %fields);
@@
-119,7
+120,9
@@
sub _pre_submit {
}
}
}
}
}
}
- return 1; # BUG?: success if fraud_detection module not found!
+ Carp::croak("Unable to locate fraud_detection module $fraud_detection"
+ . " in \@INC under Fraud_Class_Path (\@Fraud_Class_Path"
+ . " contains: @Fraud_Class_Path) (\@INC contains: @INC)");
}
sub content {
}
sub content {