- foreach my $subclass ( q(Business::OnlinePayment::) . $fraud_detection,
- q(Business::FraudDetect::) . $fraud_detection) {
-
- if (!defined(&$subclass)) {
- eval "use $subclass";
- if ($@) {
- Carp::croak("serious problem loading fraud_detection module ($@)") unless
- $@ =~ m/^Can\'t locate/;
- } else {
- my $risk_tx = bless ( { processor => $fraud_detection } , $subclass );
- $risk_tx->build_subs(keys %fields);
- if ($risk_tx->can('set_defaults')) {
- $risk_tx->set_defaults();
- }
- $risk_tx->_glean_parameters_from_parent($self);
- return $self->_risk_detect($risk_tx);
- }
+ foreach my $fraud_class ( @Fraud_Class_Path ) {
+ my $subclass = $fraud_class . "::" . $fraud_detection;
+ eval "use $subclass ()";
+ if ($@) {
+ 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);
+ if ($risk_tx->can('set_defaults')) {
+ $risk_tx->set_defaults();
+ }
+ $risk_tx->_glean_parameters_from_parent($self);
+ return $self->_risk_detect($risk_tx);