X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=OnlinePayment.pm;h=09f5b60ca3bb9e9a1e37c5cc47c677f6bfddbd72;hb=1f89071a4c657240f96b4a453c74052dcd1de9c5;hp=632c8228bb28c382b1e7c028e3676c366d49b277;hpb=67896eea0d47039f701916f07049dc72ab541920;p=Business-OnlinePayment.git diff --git a/OnlinePayment.pm b/OnlinePayment.pm index 632c822..09f5b60 100644 --- a/OnlinePayment.pm +++ b/OnlinePayment.pm @@ -6,27 +6,29 @@ use Carp; require 5.005; -$VERSION = '3.00_08'; +$VERSION = '3.00_09'; $VERSION = eval $VERSION; # modperlstyle: convert the string into a number # Remember subclasses we have "wrapped" submit() with _pre_submit() my %Presubmit_Added = (); my %fields = ( - authorization => undef, - error_message => undef, - failure_status => undef, - fraud_detect => undef, - is_success => undef, - maximum_risk => undef, - path => undef, - port => undef, - require_avs => undef, - result_code => undef, - server => undef, - server_response => undef, - test_transaction => undef, - transaction_type => undef, + authorization => undef, + error_message => undef, + failure_status => undef, + fraud_detect => undef, + is_success => undef, + maximum_risk => undef, + path => undef, + port => undef, + require_avs => undef, + result_code => undef, + server => undef, + server_response => undef, + test_transaction => undef, + transaction_type => undef, + fraud_score => undef, + fraud_transaction_id => undef, ); sub new { @@ -78,6 +80,8 @@ sub _risk_detect { $risk_transaction->content( %parent_content ); $risk_transaction->submit(); if ($risk_transaction->is_success()) { + $self->fraud_score( $risk_transaction->fraud_score ); + $self->fraud_transaction_id( $risk_transaction->fraud_transaction_id ); if ( $risk_transaction->fraud_score <= $self->maximum_fraud_score()) { return 1; } else { @@ -274,7 +278,9 @@ processors support all these transaction types). =item * action What to do with the transaction (currently available are: Normal -Authorization, Authorization Only, Credit, Post Authorization) +Authorization, Authorization Only, Credit, Post Authorization, +Recurring Authorization, Modify Recurring Authorization, +Cancel Recurring Authorization) =item * description @@ -383,8 +389,7 @@ IP Address from which the transaction originated. =item * card_number -Credit card number (obviously not required for non-credit card -transactions). +Credit card number. =item * cvv2 @@ -393,8 +398,15 @@ security code used to reduce credit card fraud. =item * expiration -Credit card expiration (obviously not required for non-credit card -transactions). +Credit card expiration. + +=item * track1 + +Track 1 on the magnetic stripe (Card present only) + +=item * track2 + +Track 2 on the magnetic stripe (Card present only) =item * recurring billing @@ -418,7 +430,9 @@ transfer. =item * account_type -Account type for electronic checks or electronic funds transfer. +Account type for electronic checks or electronic funds transfer. Can be +(case-insensitive): B, B, +B or B. =item * account_name @@ -454,6 +468,28 @@ checks or electronic funds transfer. =back +=head3 RECURRING BILLING FIELDS + +=over 4 + +=item * interval + +Interval expresses the amount of time between billings: digits, whitespace +and units (currently "days" or "months" in either singular or plural form). + +=item * start + +The date of the first transaction (used for processors which allow delayed +start) expressed as YYYY-MM-DD. + +=item * periods + +The number of cycles of interval length for which billing should occur +(inclusive of 'trial periods' if the processor supports recurring billing +at more than one rate) + +=back + =head2 submit(); Submit the transaction to the processor for completion @@ -527,6 +563,14 @@ RISK). Retrieve or change the processor submission path (CHANGE AT YOUR OWN RISK). +=head2 fraud_score(); + +Retrieve or change the fraud score from any Business::FraudDetect plugin + +=head2 fraud_transaction_id(); + +Retrieve or change the transaction id from any Business::FraudDetect plugin + =head1 AUTHORS Jason Kohles, email@jasonkohles.com @@ -535,11 +579,35 @@ Jason Kohles, email@jasonkohles.com Phil Lobbes Ephil at perkpartners dot comE +=head1 HOMEPAGE + +Homepage: http://420.am/business-onlinepayment/ + +Development: http://420.am/business-onlinepayment/ng.html + =head1 MAILING LIST Please direct current development questions, patches, etc. to the mailing list: http://420.am/cgi-bin/mailman/listinfo/bop-devel/ +=head1 REPOSITORY + +The code is available from our public CVS repository: + + export CVSROOT=":pserver:anonymous@cvs.freeside.biz:/home/cvs/cvsroot" + cvs login + # The password for the user `anonymous' is `anonymous'. + cvs checkout Business-OnlinePayment + +Or on the web: + + http://freeside.biz/cgi-bin/viewvc.cgi/Business-OnlinePayment/ + +Many (but by no means all!) processor plugins are also available in the same +repository, see: + + http://freeside.biz/cgi-bin/viewvc.cgi/ + =head1 DISCLAIMER THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED