Transaction Status

Introduction

In the following table all the possible transation status are described:

StatusDescription
waitingThe transaction is waiting for an external confirmation. This is an intermediate status.
finishedTransaction successfully executed. Transactions in this status can be reverted.
revertedThe transaction was reverted. When we are using an external payment method that support reversion, it can be assumed that the transaction is also reverted in the external system. This is a final status.
annulledThe transaction was reverted at Inswitch. Annulment are use when a transaction should only be reverted at inswitch level without affecting the external system. For instance, a transaction is annulled for a bank payout when a rejection is received from the bank after it was confirmed. This is a final status.
cancelledThe transaction has been canceled. This status is assigned to a transaction under various circumstances, including expiration, user or bank payment rejection, or in the scenario of a two-step transaction, where the second step results in the cancellation of the reserved amount. It's important to note that this status represents the final outcome of the transaction.
reservedThe first step of a two step transaction was completed. This is an intermediate status.
pendingRequest to pay transaction that is waiting for confirmation. This is an intermediate status.
errorThe transaction ended with an error. This is a final status.
conciliateThe transaction must be reviewed with inswitch's operations team. This is an intermediate status.
processingThe payment is being processed. This is an ephemeral status. A transaction stays in this status for milliseconds while it is changing its status.

In order to explain how the transaction status cycle work we distinguish Payments scenario from Wallet scenarios.

Payments

Following a state diagram for a payments, either pay-in and/or pay-out.

Wallet

In the section the state diagrams for wallet scenarios are included.

Mode perform

Following a state diagram for transaction executed in only one call:

The transaction is executed immediately. The Transaction API is called without mode or with mode=perform

Mode reserve

Following a state diagram for transaction executed in two step, one to hold the funds and the second to confirm or cancel the transaction.

The transaction is executed in two steps, first the Transaction API is called with mode=reserve to be updated in a second step (transactionStatus=finished/transactionStatus=cancelled) with using the UpdateTransaction API

Request to Pay

Following a state digram for the case when a person or merchant request a payment to another person.

First the Transaction API is called with confirmed=false, and then it is updated in a second step using the UpdateTransaction API, setting confirmed=true to confirm the transaction or setting transactionStatus=cancelled to cancel it.