Skip to main content
GET
Fetch your payments, newest first, with optional filters for status, currency, and creation date.

Authorization

  • API-key scope: payments:read · JWT team permission: payments:view

Query parameters

string
One lifecycle status, e.g. WAITING. See the Payments overview for all statuses.
string
Ticker filter.
string (ISO date)
Start of the creation-date window.
string (ISO date)
End of the creation-date window.
integer
Default 1.
integer
Default 50, max 100 — higher values are clamped.
string
Gotcha: this matches metadata.custom.orderId, not the top-level merchantOrderId field — a payment created with merchantOrderId is not found by this filter. To correlate orders reliably, put your order id in metadata, or filter client-side.
boolean
Opt-in. Widget checkout flows mint an “abandoned” payment row per checkout open (grouped under failed). Pass excludeAbandoned=1 to drop those rows. Get status counts accepts the same flag — pass the same value to both when cross-referencing tiles against list rows, or the tile counts and the rows will disagree.

Response fields

The envelope is {items, total} — page and limit are not echoed back. Track your own cursor: keep requesting page + 1 until you have fetched total rows.
array
Payment rows — the same fields as Get a payment, plus the fiat summary columns (grossFiat, feeFiat, netFiat, invoicedFiat/receivedFiat, and basis). feeFiat on list rows is the total fee (commission + network provision) — the same meaning it has on the detail endpoint, webhook and IPN. The commission/network split (commissionFiat/networkFeeFiat) lives only on the detail, and only while it sums to its own total. Sensitive fields (keys, derivation data) are never present.
integer
Total matching payments across all pages.

See also

  • Get a payment: the full field-by-field detail behind each row.
  • Get status counts: account-wide counts per tile group with the same filters.
  • Create a payment: where these rows come from — and where to put your order id so filters find it.