Add txn_date to return fields (and build_subs)
[Business-OnlinePayment.git] / OnlinePayment.pm
index eff1ec6..b4404fe 100644 (file)
@@ -6,7 +6,7 @@ use Carp;
 
 require 5.005;
 
 
 require 5.005;
 
-$VERSION = '3.04_02';
+$VERSION = '3.05_01';
 $VERSION = eval $VERSION; # modperlstyle: convert the string into a number
 
 # Remember subclasses we have "wrapped" submit() with _pre_submit()
 $VERSION = eval $VERSION; # modperlstyle: convert the string into a number
 
 # Remember subclasses we have "wrapped" submit() with _pre_submit()
@@ -19,6 +19,7 @@ my @methods = qw(
     failure_status
     fraud_detect
     is_success
     failure_status
     fraud_detect
     is_success
+    partial_auth_amount
     maximum_risk
     path
     port
     maximum_risk
     path
     port
@@ -35,8 +36,7 @@ my @methods = qw(
     response_page
     avs_code
     cvv2_response
     response_page
     avs_code
     cvv2_response
-    partial_auth
-    partial_auth_amount
+    txn_date
 );
 
 __PACKAGE__->build_subs(@methods);
 );
 
 __PACKAGE__->build_subs(@methods);
@@ -385,8 +385,13 @@ just a whole or floating point number (i.e. 26, 26.1 or 26.13).
 
 =item partial_auth
 
 
 =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
 
 
 =item description
 
@@ -661,6 +666,15 @@ Returns true if the transaction was approved by the gateway, false if
 it was submitted but not approved, or undef if it has not been 
 submitted yet.
 
 it was submitted but not approved, or undef if it has not been 
 submitted yet.
 
+=head2 partial_auth_amount()
+
+If this transaction was a partial authorization (i.e. successful, but less than
+the requested amount was processed), then the amount processed is returned in
+this field.
+
+(When is_success is true but this field is empty or 0, that indicates a normal
+full authorization for the entire requested amount.)
+
 =head2 error_message()
 
 If the transaction has been submitted but was not accepted, this
 =head2 error_message()
 
 If the transaction has been submitted but was not accepted, this
@@ -678,11 +692,6 @@ other errors).
 Note that not all processor modules support this, and that if supported,
 it may not be set for all declines.
 
 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
 =head2 authorization()
 
 If the transaction has been submitted and accepted, this function will
@@ -700,6 +709,11 @@ 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.
 
 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.
+
 =head2 fraud_score()
 
 Retrieve or change the fraud score from any Business::FraudDetect plugin
 =head2 fraud_score()
 
 Retrieve or change the fraud score from any Business::FraudDetect plugin
@@ -780,8 +794,8 @@ Croaks if any of the required fields are not present.
 
 =head2 silly_bool( $value )
 
 
 =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.
 Otherwise returns the value itself.
 
 Use this for handling boolean content like tax_exempt.