Payment statuses
A payment has one status at a time, and the status tells you whether to deliver goods or services. Webhooks and the payment details endpoints return it in the status field, and payment_tier is an alias for it.
Statuses
The table below lists every status with the action to take. Deliver only when the status is good.
| Status | Meaning | What to do |
|---|---|---|
none | No payment is detected yet. | Don’t deliver. |
short | The customer paid less than requested. | Don’t deliver. Refund, accept the shortfall, or ask the customer to top up. |
hold | The amount is right but can’t be confirmed instantly. Triple-A investigates. | Don’t deliver. Wait for the next status. |
good | The payment is confirmed and the funds are guaranteed. | Mark the order paid and deliver. |
invalid | The network rejected the payment, or it has a serious issue. | Don’t deliver. If funds arrived, Triple-A refunds the customer automatically after a delay. |
How statuses change
Statuses only move forward. A payment that reaches good doesn’t go back. Triple-A confirms 97% of transactions instantly, and they reach good within seconds of being broadcast to the network.
The following diagram shows every move a payment can make.
stateDiagram-v2
[*] --> none
none --> hold
none --> good
none --> short
none --> invalid
hold --> good
hold --> short
hold --> invalid
good --> [*]
short --> [*]
invalid --> [*]
The possible moves are as follows.
- From
none, a payment can go tohold,good,short, orinvalid. - From
hold, a payment can go togood,short, orinvalid.
Related content
These pages cover related topics.
- Webhooks to receive status changes
- Stablecoin checkout to act on a status in your server
API Reference › Common reference