=item Credit
+=item Tokenize
+
=item Recurring Authorization
=item Modify Recurring Authorization
=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
=head2 txn_date()
Transaction date, as returned by the gateway. Required by some gateways
-for follow-up transactions.
+for follow-up transactions. Store this if you would like to run inquiries or
+refunds on the transaction later.
=head2 fraud_score()
Gateways will return one or two values from Authorization Only and
Normal Authorization transactions that must be submitted back with a
- Post Authorization, Void, or Credit transaction.
+ Post Authorization, Reverse Authorization, Void, or Credit transaction.
If the gateway returns one value, return this as "authorization"
is a unique tranaction id generated by the gateway.
+= 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
- 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 gatweay does not have such a
+ 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