From d1ffb1dddfef66b75320f92929616df6a784d821 Mon Sep 17 00:00:00 2001 From: lawrence Date: Thu, 17 Aug 2006 00:39:34 +0000 Subject: [PATCH] added POD --- FraudDetect.pm | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ FraudDetect/preCharge.pm | 68 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) diff --git a/FraudDetect.pm b/FraudDetect.pm index 834e135..3624f5a 100644 --- a/FraudDetect.pm +++ b/FraudDetect.pm @@ -8,3 +8,78 @@ $VERSION = '0.01'; @ISA = qw / Business::OnlinePayment /; 1; + +=pod + +=head1 NAME + +Business::FraudDetect - A cohort to Business::OnlinePayment + +=head1 SYNOPSIS + + my %processor_info = ( risk_Management => 'preCharge', + maximum_risk => 500, + risk_management_params => { + 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. + +The user instantiates a Business::OnlinePayment object per usual, adding in three processor directives + +=over 4 + +=item * risk_Management + +Which Fraud Detection module to use. + +=item * maximum_risk + +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 * risk_management_params + +Driver-specific parameters. Extant module uses this to pass in identity/authorization credentials. + +=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 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 + +Lawrence Statton + +=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 + +http://420.am/business-onlinepayment + +=cut diff --git a/FraudDetect/preCharge.pm b/FraudDetect/preCharge.pm index da97fb3..2d34544 100644 --- a/FraudDetect/preCharge.pm +++ b/FraudDetect/preCharge.pm @@ -140,3 +140,71 @@ sub submit { 1; + +=pod + +=head1 NAME + +Business::FraudDetect::preCharge - backend for Business::FraudDetect (part of Business::OnlinePayment) + +=head1 SYNOPSIS + + use Business::OnlinePayment + my $tx = new Business::OnlinePayment ( 'someGateway', + risk_management => 'preCharge', + maximum_risk => 500, + risk_management_params => { + preCharge_id => '1000000000000001', + preCharge_security1 => 'abcdef0123', + preCharge_security2 => '3210fedcba', + } + ); + $tx->content( + first_name => 'Larry Walton', + last_name => 'Sanders', + login => 'testdrive', + password => '', + action => 'Normal Authorization', + type => 'VISA', + state => 'MA', + zip => '02145', + country => 'US', + phone => '617 555 8900', + email => 'lws@sanders.com', + ip_address => '18.62.0.6', + card_number => '4111111111111111', + expiration => '0307', + amount => '25.00', + ); + $tx->submit(); + if ($tx->is_success()) { + # successful charge + } else { + # unsucessful + } + +=head1 DESCRIPTION + +This module provides a driver for the preCharge Risk Management Solutions API Verison 1.7 (16 Jan 2006). + +See L and L for more information. + +Whe constructing the Business::OnlinePayment object, three risk management parameters must be passed in for the preCharge object to be properly constructed. These are preCharge_id (called the merchant_id in the preCharge API manual), and two security codes (preCharge_security1 and preCharge_security2). + +=head1 METHODS + +This module provides no public methods. + +=head1 AUTHORS + +Lawrence Statton + +=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 + +http://420.am/business-onlinepayment + +=cut -- 2.11.0