Statuses

A 2xx means the request was accepted, not that money moved. Read status.

Each method page lists its own statuses and transitions: Card, Apple Pay, Google Pay, BLIK, Refunds, Card payout. This page holds what is common to all of them.

Status sets

Object Statuses Final
payin created, processing, requires_action, authorized, completed, failed, refunded completed, failed, refunded
refund created, processing, completed, failed completed, failed
payout created, processing, completed, failed completed, failed
Status Meaning
created Recorded, processing not started
processing Checks, the provider, or an action in progress
requires_action The payer has a step to take. Read next_action — see Payer actions
authorized Card only: the amount is on hold. Call capture or void
completed Money moved
refunded Payin only: charged, then refunded in part or in full. Read refunded_amount
failed Money did not move. Read status_details.code: a decline, a voided hold, a payer who rejected

A final status never changes, with one exception: a completed refund moves a payin from completed to refunded. The refund itself is a new transaction — see Refunds.

Transitions by method

Method Path to a final status
Card created → requires_action (payment page) → processing → completed; hold: processing → authorized → capture or void → processing → completed or failed
Apple Pay created → processing → completed
Google Pay created → processing → completed; 3DS: processing → requires_action → processing
BLIK created → processing → requires_action → completed
Hosted payment form The payin created from the form is a card payin
Refund created → processing → completed
Card payout created → processing → completed

A card, Apple Pay or Google Pay payin moves from completed to refunded when a refund of it completes.

created, processing and requires_action can end in failed. authorized ends only through capture or void. The exact set is x-status-transitions on each create endpoint in the OpenAPI document; final values are x-terminal-values on PayinStatus, RefundStatus and PayoutStatus.

Rules

R8: only a final status is an outcome. R13: an unknown status is not final — keep waiting for webhooks. A timeout of your own while waiting resolves nothing: the transaction is still in progress, do not create a new one (R6).

Next: Payer actions