Transaction statuses refer to the different states of a single transaction in its lifecycle.

A transaction is initiated when money moves from a source to a destination.

Let’s get started ✨

What we’ll cover …

  1. Primary transaction statuses
  2. Inflight statuses

1. Primary transaction statuses

There are three main primary transaction statuses for any transaction in Blnk.

  1. QUEUED: This is the default status for any new transaction record. It means your transaction record has been accepted by Blnk, added to a queue and is waiting to be applied. See also: How Blnk handles concurrency.

  2. APPLIED: Your transaction status is updated to “applied” when the balances of the source and destination of the transaction get updated, with the transaction amount debited and credited respectively. A transaction with the APPLIED is deemed to completed its lifecycle.

  3. REJECTED: Your transaction status is updated to “rejected” if any of the conditions required for a successful transaction hasn’t been met.

2. Inflight statuses

Inflight is a feature that allows you to set conditions to be met before a transaction is applied in your ledger. It is also sometimes known as a “2-phase commit.”

  1. INFLIGHT: Your transaction status is updated to “inflight” when inflight is enabled for the transaction in the request body. A transaction in inflight will remain there and not be applied until the set condition is satisfied or the transaction expires.

  2. COMMIT: Commit is a status specific to the update inflight endpoint. When you send a “commit” status for an inflight transaction, it means that the transaction has met the set inflight conditions and can now be applied.

  3. VOID: Void is a status also specific to the update-inflight endpoint. When you send a “void” status for an inflight transaction, it means that the transaction didn’t meet the conditions and should not be applied.

  4. EXPIRED: This means the transaction stayed in the inflight status past the specified expiry date for the inflight transaction. If an inflight transaction expires, a new transaction record is created with its status saved as “expired” and the transaction is discarded.

All transactions in Blnk are immutable. Once a transaction has been applied, committed or voided, you cannot roll back the status to its previous status.

This is important to protect the correctness and accuracy of the transaction and your ledger as a whole.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool.

To ask questions or discuss issues, please join our Discord community.

Was this page helpful?