3.05, add nacha_sec_code
[Business-OnlinePayment.git] / OnlinePayment.pm
index 2d768d2..aa68380 100644 (file)
@@ -6,7 +6,7 @@ use Carp;
 
 require 5.005;
 
-$VERSION = '3.04_02';
+$VERSION = '3.05';
 $VERSION = eval $VERSION; # modperlstyle: convert the string into a number
 
 # Remember subclasses we have "wrapped" submit() with _pre_submit()
@@ -36,8 +36,7 @@ my @methods = qw(
     response_page
     avs_code
     cvv2_response
-    partial_auth
-    partial_auth_amount
+    txn_date
 );
 
 __PACKAGE__->build_subs(@methods);
@@ -365,6 +364,8 @@ What action being taken by this transaction. Currently available are:
 
 =item Credit
 
+=item Tokenize
+
 =item Recurring Authorization
 
 =item Modify Recurring Authorization
@@ -386,8 +387,13 @@ just a whole or floating point number (i.e. 26, 26.1 or 26.13).
 
 =item partial_auth
 
-Set true to accept a partial authorization.  If this flag is not set, a partial
-authorization will be immediately reversed or voided.
+If you are prepared to handle partial authorizations
+(see L<partial_auth_amount()|/"partial_auth_amount()">
+ in L<TRANSACTION RESULT FIELDS|/"TRANSACTION RESULT FIELDS">),
+pass a true value in this field to enable them.
+
+If this flag is not set, a partial authorization will be immediately reversed
+or voided.
 
 =item description
 
@@ -424,13 +430,6 @@ Tax exempt flag (i.e. TRUE, FALSE, T, F, YES, NO, Y, N, 1, 0).
 Currency, specified as an ISO 4217 three-letter code, such as USD, CAD, EUR,
 AUD, DKK, GBP, JPY, NZD, etc.
 
-=item partial_auth
-
-If you are prepared to handle partial authorizations
-(see L<partial_auth_amount()|/"partial_auth_amount()">
- in L<TRANSACTION RESULT FIELDS|/"TRANSACTION RESULT FIELDS">),
-pass a true value in this field to enable them.
-
 =back
 
 =head3 CUSTOMER INFO FIELDS
@@ -578,6 +577,14 @@ Bank's routing code
 Account type.  Can be (case-insensitive): B<Personal Checking>,
 B<Personal Savings>, B<Business Checking> or B<Business Savings>.
 
+=item nacha_sec_code
+
+NACHA SEC Code for US ACH transactions.  'PPD' indicates customer signed a form
+giving authorization for the charge, 'CCD' same for a business checking/savings
+account, 'WEB' for online transactions where a box was checked authorizing the
+charge, and 'TEL' for authorization via recorded phone call (NACHA script
+required).
+
 =item account_name
 
 Account holder's name.
@@ -616,6 +623,21 @@ Customer's date of birth.
 
 =back
 
+=head3 FOLLOW-UP TRANSACTION FIELDS
+
+These fields are used in follow-up transactions related to an original
+transaction (Post Authorization, Reverse Authorization, Void, Credit).
+
+=over 4
+
+=item authorization
+
+=item order_number
+
+=item txn_date
+
+=back
+
 =head3 RECURRING BILLING FIELDS
 
 =over 4
@@ -695,11 +717,6 @@ other errors).
 Note that not all processor modules support this, and that if supported,
 it may not be set for all declines.
 
-=head2 partial_auth_amount()
-
-Amount of the partial authorization, if the processor supports them and the
-partial_auth flag was passed to indicate they should be processed.
-
 =head2 authorization()
 
 If the transaction has been submitted and accepted, this function will
@@ -717,6 +734,12 @@ this if you would like to run inquiries or refunds on the transaction later.
 If supported by your gateway, a card_token can be used in a subsequent
 transaction to refer to a card number.
 
+=head2 txn_date()
+
+Transaction date, as returned by the gateway.  Required by some gateways
+for follow-up transactions.  Store this if you would like to run inquiries or
+refunds on the transaction later.
+
 =head2 fraud_score()
 
 Retrieve or change the fraud score from any Business::FraudDetect plugin
@@ -797,8 +820,8 @@ Croaks if any of the required fields are not present.
 
 =head2 silly_bool( $value )
 
-Returns 0 if the value starts with y, Y, t or T.
-Returns 1 if the value starts with n, N, f or F.
+Returns 1 if the value starts with y, Y, t or T.
+Returns 0 if the value starts with n, N, f or F.
 Otherwise returns the value itself.
 
 Use this for handling boolean content like tax_exempt.
@@ -819,7 +842,7 @@ Phil Lobbes E<lt>phil at perkpartners dot comE<gt>
 
 Copyright (c) 1999-2004 Jason Kohles
 Copyright (c) 2004 Ivan Kohler
-Copyright (c) 2007-2015 Freeside Internet Services, Inc.
+Copyright (c) 2007-2018 Freeside Internet Services, Inc.
 
 All rights reserved.
 
@@ -835,7 +858,7 @@ Development:  http://perl.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/
+http://mail.freeside.biz/cgi-bin/mailman/listinfo/bop-devel/
 
 =head1 REPOSITORY
 
@@ -845,16 +868,16 @@ The code is available from our public git repository:
 
 Or on the web:
 
-  http://freeside.biz/gitweb/?p=Business-OnlinePayment.git
+  http://git.freeside.biz/gitweb/?p=Business-OnlinePayment.git
   Or:
-  http://freeside.biz/gitlist/Business-OnlinePayment.git
+  http://git.freeside.biz/cgit/Business-OnlinePayment.git
 
 Many (but by no means all!) processor plugins are also available in the same
 repository, see:
 
-  http://freeside.biz/gitweb/
+  http://git.freeside.biz/gitweb/
   Or:
-  http://freeside.biz/gitlist/
+  http://git.freeside.biz/cgit/
 
 =head1 DISCLAIMER