+
+= txn_date (NEW IN 3.05) =
+
+ Some gateways return a transaction date from Authorization Only / Normal
+ Authorization transactions that must be submitted back for a follow-up
+ Post Authorization, Reverse Authorization, Void, or Credit transaction.
+
+ For the most compatibility with all gateways for follow-up transactions,
+ pass this as well as authorization and order number. Note this field is
+ a recent addition, so always access it like this:
+
+ my $txn_date = $bop_transaction_object->can('txn_date')
+ ? $bop_transaction_object->txn_date
+ : '';
+
+
+= Moo (NEWLY DOCUMENTED IN 3.04) =
+
+ Feel free to write gateway modules which use Moo. Please do not require
+ Moo newer than 0.091011 at this time (until 2018 or so).
+
+
+= Partial authorizations (NEWLY DOCUMENTED IN 3.04) =
+
+ If your gateway supports partial authorizations:
+
+ - Declare this in your "sub _info" introspection subroutine:
+ 'partial_auth' => 1,
+
+ - Add "partial_auth_amount" to your build_subs call in set_defaults, or add
+ one:
+ $self->build_subs('partial_auth_amount');
+
+ - Honor the transaction 'partial_auth' flag as follows:
+ + If this transaction flag is unset, the application is not expecting to
+ handle a partial authorzation. So, either set the gateway flag disabling
+ partial authorizations, or (if your gateway does not have such a
+ setting), immediately void any partial authorization received and
+ return is_success 0.
+ + If this transaction flag is set, the application can handle a partial
+ authorization. Make sure the flag to enable them is passed to the
+ gateway, if necessary. When a partial authorization is received, return
+ is_success 1, and the amount as "partial_auth_amount":
+ $self->partial_auth_amount( $partial_amount );
+ For normal full authorizations, "partial_auth_amount" must not be set.
+
+