Business::FraudDetect
preCharge API
https://helpdesk.precharge.net/index.php?_m=downloads&_a=downloadfile&downloaditemid=1
proposed Business::OnlinePayment fraud detection API
my $transaction = Business::OnlinePayment( $gateway, 'fraud_detection' => 'preCharge', 'preCharge_id' =>, 'preCharge_security_1' => , 'preCharge_security_2 => );
OO
Business::FraudDetect::preCharge @ISA Business::OnlinePayment::HTTPS in order to use the HTTPS base class stuff. It can be written just like a Business::OnlinePayment gateway module, with a new action "Fraud Detect". That way gateways which support internal fraud detection can just add the new action.
When passed a fraud_detection argument, Business::OnlinePayment would look for a matching Business::FraudDetect::$module and then a Business::OnlinePayment::$module, and then run a "Fraud Detect" transaction against it, then run the real transaction if the fraud detection came back okay.
Packaging
The new modules should go in the Business-OnlinePayment distribution, so that an installation of Business::OnlinePayment gives you Business::FraudDetect::preCharge as well.