/usr/share/perl5/Business/FraudDetect.pm is in libbusiness-onlinepayment-perl 3.02-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | package Business::FraudDetect;
use vars qw / $VERSION @ISA /;
$VERSION = '0.01';
@ISA = qw / Business::OnlinePayment /;
1;
=pod
=head1 NAME
Business::FraudDetect - A cohort to Business::OnlinePayment
=head1 SYNOPSIS
my %processor_info = ( fraud_detection => 'preCharge',
maximum_fraud_score => 500,
preCharge_id => '1000000000000001',
preCharge_security1 => 'abcdef0123',
preCharge_security2 => '3210fedcba',
)
my $transaction = new Business::OnlinePayment($processor, %processor_info);
$transaction->content(
type => 'Visa',
amount => '49.95',
cardnumber => '1234123412341238',
expiration => '0100',
name => 'John Q Doe',
);
$transaction->submit();
if($transaction->is_success()) {
print "Card processed successfully: ".$transaction->authorization()."\n";
} else {
print "Card was rejected: ".$transaction->error_message()."\n";
}
=head1 DESCRIPTION
This is a module that adds functionality to Business::OnlinePayment. See L<Business::OnlinePayment>.
The user instantiates a Business::OnlinePayment object per usual, adding in three processor directives
=over 4
=item * fraud_detection
Which Fraud Detection module to use.
=item * maximum_fraud_score
FraudDetection drivers are expected to return a numeric "risk" factor, this parameter allows you to set the threshold to reject the transaction based on that risk. Higher numbers are "riskier" transactions.
=item * other driver-specific parameters.
Consult the specific Fraud Detection module you intend to use for its required parameters.
=back
The $tx->submit() method is overridden to interpose a FraudDetection phase. A subordinate object is created using the same content as the parent OnlinePayment object, and a I<Fraud Detect> action is run against that subordinate object. If the resulting fraud score is less than or equal to the maximum_risk parameter, the parent transaction will be allowed to proceed. Otherwise, a failure state will exist with a suitable error message.
=head1 METHODS
This module provides no new methods. It does, however override the
submit method to interpose an additional Fraud Detection phase.
=head1 AUTHORS
Original author: Lawrence Statton <lawrence@cluon.com>
Current maintainer: Ivan Kohler <ivan-bop@420.am> as part of the
Business::OnlinePayment distribution.
=head1 DISCLAIMER
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
=head1 SEE ALSO
L<Business::OnlinePayment>, http://420.am/business-onlinepayment
=cut
|