Reference > Payments subsystem > Payment plug-in specification


Payment state machine

The following diagram shows the state machine for a Payment as used by the Payment plug-in controller. It describes how a Payment moves from state to state when financial transactions, queries, or external edits are made against a payment and payment plug-ins are used to process payment transactions. The payment state is persisted in the PPCPAYMENT table.

When newly created (New), two financial transactions are valid on a Payment: approve or approveAndDeposit.

When a payment is in an Approving state, a possible financial transaction is reverseApproval. If successful, the Payment will move to a Canceled state. The Payment can also move to an Approved state by a query update or by an edit operation performed by the Payment plug-in controller . This type of edit operation is commonly associated with offline payment protocols and timeout situations.

When in an Approved state, a Payment can be canceled by a full reverseApproval (the total approved amount is reversed), or it can expire during a query or deposit transaction. With deposits and partial reverseApproval (amount to be reversed is less than the total amount approved) transactions, the Payment stays in the Approved state.

When a financial transaction fails, the Payment goes to the Failed state.

End states for payments are Failed, Canceled, and Expired.


+

Search Tips   |   Advanced Search