SimpleOffline payment and credit state transition handling

The SimpleOffline plug-in transitions payment and credit states according to the payment plug-in specification, with the following exception. The plug-in will keep the payment and credit objects in the "ing" state (Approving, Crediting) when needed because the transaction is not being processed in real time. The plug-in will notify the WebSphere Commerce Payments that it will manage the state of the payment actions by setting the state field of the FinancialTransaction object.

When the SimpleOffline plug-in keeps a payment or credit transaction pending, a Customer Service Representative (CSR) must use the Payments menu in the WebSphere Commerce Accelerator to edit the payment or credit so that it can move to the next state (Success or Failed). The edit transaction removes the payment and credit from the "ing" state.

When the payment state is Approving, an Approve action was performed but the results are still unknown. The operation will eventually succeed or fail. If the payment method is defined to keep in pending state (keepPendingStatus="true"), the target state of the Approve action is Approving. The WebSphere Commerce Payments will change the state to Approved or Failed accordingly based on the status value selected by the CSR when editing the pending transaction.

Likewise, when a credit state is Crediting, a Credit action was performed but the results are still unknown. The operation will eventually succeed or fail. If the payment method is defined to keep in pending state (keepPendingStatus="true"), the target state of the Credit action is Crediting. The WebSphere Commerce Payments will change the state to Credited or Failed accordingly.