How outbound statuses are determined
1
Payment is sent
Once the payment message is accepted by the SWIFT network, the payment moves to Sent to clear and you receive a webhook.
2
The platform tracks the payment
The platform continuously tracks the payment on the SWIFT network using the SWIFT Frontend API, identified by the payment’s UETR (Unique End-to-End Transaction Reference).
3
Statuses are pushed to you
Every status change - including the final outcome (Completed or Rejected) - is delivered as a Payment Status Change webhook.
The intermediate Accepted status is set when the debit is confirmed on the correspondent account statement. The final outcome comes from the SWIFT Frontend API tracking. Accepted is not guaranteed: if delivery is confirmed before the statement confirms the debit, the payment moves from
Sent to clear straight to Completed.Outbound statuses
- Success Flow
- Error States
Inbound statuses
Payments you receive move through a shorter lifecycle - which path they take depends on your confirmation mode and on how the payment settles (direct or via a cover).- Automatic confirmation
- Manual confirmation
- Cover method (COV)
Completed (directly on receipt)Hold reasons
While an inbound payment sits inAccepted, the why is carried by its statusReason:
The webhook does not carry the hold reason - it only says
Accepted. To distinguish a payment held for review from one awaiting a cover, fetch it via GET /v3/payments/{id} and read its statusReason.Inbound status overview
Full flows with the confirmation messages sent back to the SWIFT network: Automatic confirmation / Manual confirmation.Status-to-webhook map
Every status change of a SWIFT payment emits a Payment Status Change webhook. All SWIFT webhooks carrymethod=SWIFT.
What arrives when
Key payload fields
Webhooks are delivered with retries - treat them idempotently and upsert by
trx_id + status. Cancellation progress arrives on a separate Payment Cancellation Status Change webhook.Outbound payment flows
- Standard
- Returned by correspondent
- Cancelled
- Rejected
1
Create
You create the payment via the API. Status Created, webhook
method=SWIFT, type=Payment.2
Sent to clear
The message is forwarded to the SWIFT network and accepted for routing to the correspondent bank. Status Sent to clear.
3
Completed
Tracking via the SWIFT Frontend API confirms delivery to the beneficiary bank. Status Completed.
Created → Sent to clear → CompletedStatus overview
API Reference
Get payment
GET /v3/payments/{id} - full payment details including statusReasonNext Steps
Cancel SWIFT payments
Stop a payment that should not go through
Statements
Reconcile with camt.052/053/054 statements