X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=OnlinePayment.pm;h=2b4e17bd5dafad6ecad24e02ea5389c9611f4ca8;hb=fb8d21e0431c9b3c081faf043cc0127f9d08e496;hp=2e9d35d35749b8a0a56ca75b2228125cad432db1;hpb=d1ffb1dddfef66b75320f92929616df6a784d821;p=Business-OnlinePayment.git diff --git a/OnlinePayment.pm b/OnlinePayment.pm index 2e9d35d..2b4e17b 100644 --- a/OnlinePayment.pm +++ b/OnlinePayment.pm @@ -6,7 +6,7 @@ use Carp; use Symbol; require 5.005; -##use Data::Dumper; +use Data::Dumper; #require Exporter; @@ -32,8 +32,7 @@ my %fields = ( server => undef, port => undef, path => undef, - risk_management => undef, - risk_management_params => undef, + fraud_detect => undef, server_response => undef, maximum_risk => undef, ); @@ -73,7 +72,7 @@ sub new { $self->{_child_submit} = \&$submit; *{"${subclass}::submit"} = sub { my $self = shift; - $self->_pre_submit(@_); + $self->_pre_submit(); } } @@ -89,7 +88,7 @@ sub _risk_detect { $risk_transaction->content( %parent_content ); $risk_transaction->submit(); if ($risk_transaction->is_success()) { - if ( $risk_transaction->risk_level <= $self->maximum_risk()) { + if ( $risk_transaction->fraud_score <= $self->maximum_fraud_score()) { $self->{_child_submit}->($self); } else { $self->is_success(0); @@ -103,41 +102,34 @@ sub _risk_detect { sub _pre_submit{ my ($self) = @_; - my $risk_detection = $self->risk_management(); + my $fraud_detection = $self->fraud_detect(); # # early return if user does not want optional risk mgt # - return $self->{_child_submit}->($self,@_) unless $risk_detection && length $risk_detection; + return $self->{_child_submit}->($self,@_) unless $fraud_detection && length $fraud_detection; # # Search for an appropriate FD module # - foreach my $subclass ( q(Business::OnlinePayment::) . $risk_detection, - q(Business::FraudDetect::).$risk_detection) { + 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 risk_detection module ($@)") unless + Carp::croak("serious problem loading fraud_detection module ($@)") unless $@ =~ m/^Can\'t locate/; } else { - my $risk_tx = bless ( { processor => $risk_detection } , $subclass ); + my $risk_tx = bless ( { processor => $fraud_detection } , $subclass ); $risk_tx->build_subs(keys %fields); if ($risk_tx->can('set_defaults')) { $risk_tx->set_defaults(); } - my %risk_params = %{$self->risk_management_params()}; - foreach my $key ( keys %risk_params ) { - my $value = $risk_params{$key}; - $key = lc($key); - $key =~ s/^\-//; - $risk_tx->build_subs($key); - $risk_tx->$key($value); - } + $risk_tx->_glean_parameters_from_parent($self); return $self->_risk_detect($risk_tx); } }