Develop > Controller layer > Payments subsystem
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:
- Only a single approve transaction is issued against a payment at a time.
- Only a single credit transaction is issued against a credit at a time.
- Only a single transaction will be in a pending state for a given payment instruction at the same time.
Transaction status can be viewed in one of the following ways:
- At the API level
- At the user interface level (status of order or payment)
- During order capture. That is, at order capture the customer can see whether the payment was successfully accepted.
Three types of financial transactions can have a corresponding reversal transactions:
- Approve - Reversal Approve
- Deposit - Reversal Deposit
- Credit - Reversal Credit
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:
- Approve in Pending state, Reversal Approve is allowed
- Approve is in Success state and the Deposit is in Pending state. The Reversal Approve results in an error.
Related tasks
Add a new payment or refund method
Customize the business flow for payment processing
Use other payment protocol data to find orders
Related reference