Payment financial transaction state

When the Payment plug-in controller calls a payment plug-in to perform a financial transaction, the plug-in can return one of the three possible transaction states: Success, Failure, Pending. A pending state indicates that a particular transaction has not yet finished for a payment or credit transaction. It could mean that a plug-in uses an offline protocol to handle transactions, thereby some external intervention or action by a human must take place to move the payment or credit into another state. Offline processing typically requires human interaction to process transactions over the phone or by using a swipe machine. A payment or credit can also be in pending state for other reasons, such as when timeouts occur on the network or processing over the network is extremely slow. The pending state applies to both the payment and the payment transaction. If a pending approval transaction exists, then another payment approval cannot be issued until the prior pending approval transaction is successful.

The following list describes financial transactions:

Transaction status can be viewed in one of the following ways:

Three types of financial transactions can have a corresponding reversal transactions:

A reversal transaction can run if the original transaction is in pending approval state, or the original transaction is approved but not deposited. For example:

  1. Approve in Pending state, Reversal Approve is allowed

  2. Approve is in Success state and the Deposit is in Pending state. The Reversal Approve results in an error.


Related tasks
Adding a new payment or refund method
Customizing the business flow for payment processing
Use other payment protocol data to find orders
Creating a payment plug-in
Packaging a payment plug-in


Related reference
Payment plug-in specification