Skip to main content

Transaction States

Every payment in Ottu moves through a series of states, from creation to completion. Understanding these states helps you maintain an accurate audit trail, manage operations efficiently, and know exactly where each payment stands.

tip

For the full technical state machine, see Payment States.

Transactions in Ottu fall into two categories:

  • Parent Transaction -- Stores all the essential data about the payment. This is the primary record of the transaction.
  • Child Transaction -- Created when a subsequent operation is performed on a parent transaction, such as a capture, refund, or void.

Parent States

The parent state reflects the overall status of the original payment transaction.

StateDescriptionActor
CreatedThe payment has been initiated successfully.Merchant
PendingThe customer has interacted with the payment (viewed the checkout page, accessed the link, etc.) but has not completed it yet.Customer
AttemptedThe payment failed on the customer's end and is waiting for a retry. It stays in this state until successfully processed, expired, or canceled.Customer
AuthorizedThe customer entered card details, and the bank has allocated (held) the amount, but it has not been deducted yet.Customer
PaidThe bank has successfully deducted the payment amount.Customer
FailedThe transaction encountered an error and could not be completed. Only applies to transactions that allow a single attempt.Customer
CanceledThe merchant canceled the payment. No further action can be taken.Merchant
ExpiredThe payment link's lifespan has ended.Customer
InvalidThe payment is no longer available due to changes in payment configuration, currency exchange settings, or other unforeseen events.Merchant
CODCash on Delivery -- the customer chose to pay in cash.Customer
note

The Pending state is only available when using an Ottu plugin with the checkout page. The Attempted state does not exist for single-attempt transactions; those go directly to Failed or Authorized.

Child Payment States

Child transactions are created when a merchant performs an operation (capture, refund, void) on a parent transaction. The table below shows each child state, its originating parent state, and what it means.

Child StateParent StateDescription
PaidAuthorizedA portion or all of the authorized amount has been captured. A child transaction record is created to track the capture.
RefundedAuthorized / PaidA partial or full refund has been returned to the customer.
Refund-queuedAuthorized / PaidThe refund is awaiting bank approval.
Refund-rejectedAuthorized / PaidThe bank did not approve the refund.
VoidedAuthorizedThe authorized amount has been reversed. The full amount (including any fee) is returned to the customer.
warning

Voiding can only be performed on authorized transactions that have not been captured. Once a capture occurs (even a partial one), the void option is no longer available -- use a refund instead.

The figure below illustrates a payment transaction with both parent and child states. The parent transaction is in the Authorized state, and the child transactions show Paid (captured) and Refunded states for the same payment.

Parent and child transaction states

Payment Attempts

A payment attempt represents a customer's individual try at completing a payment. When a transaction fails, the customer can retry -- potentially multiple times -- until the payment succeeds, expires, or is canceled.

Attempt States

Each attempt has its own state, separate from the parent transaction state:

Attempt StateDescription
PendingThe customer has viewed the transaction details.
FailedPayment failed (insufficient funds, card declined, etc.). The number of allowed attempts depends on the payment configuration.
CanceledThe customer clicked the cancel button.
SuccessThe payment attempt was successful.
ErrorA payment gateway error occurred (service unavailable, network issue, etc.).
CODCash on Delivery was selected.
note

When COD is used, a payment attempt is still created. Every change in the final state of a payment transaction must be associated with a payment attempt.

State Combinations

Understanding how parent transaction states and attempt states interact is key:

For transactions that allow multiple attempts:

  • If the attempt state is canceled or failed, the parent transaction remains in the attempted state. The customer can try again until the transaction either expires or succeeds.
  • If the attempt state is success, the parent transaction moves to paid or authorized.

For transactions that allow only a single attempt:

  • There is no attempted state. The transaction goes directly to either failed or authorized.

State combination diagram


What's Next?