Skip to main content
The Payments API is the core of your integration: you create an invoice, hand the payer a deposit address (or the hosted invoice page), and watch the status until it settles — then optionally refund. All payment endpoints are merchant-scoped: you only ever see your own payments. Asking for someone else’s payment id answers 404, as if it didn’t exist.
You don’t have to poll. Configure a webhook (or a per-payment ipnCallbackUrl) and status transitions are pushed to your server as they happen — see the Webhooks & IPN guide.

Authorization

Every endpoint in this group accepts a secret API key (Authorization: Bearer lid_live_...) with the scope listed on each page, or a dashboard JWT (role merchant_admin/merchant_member with the matching team permission). Exceptions are flagged on the relevant page. See the Authentication guide.

Payment lifecycle

A payment moves through these statuses:

Dashboard tile groups

The dashboard groups these statuses into four tiles:
  • pending = AWAITING_CURRENCY, WAITING, CONFIRMING, PARTIALLY_PAID, SENDING, SWEEP_QUEUED, SWEEPING
  • completed = CONFIRMED, SWEPT, FINISHED — excluding settled underpayments
  • failed = EXPIRED, FAILED, CANCELLED
  • underpaid = payments in the completed group (CONFIRMED/SWEPT/FINISHED) that received materially less than invoiced — carved out of completed
These are exactly the groups returned by Get status counts, where pending + completed + failed + underpaid is the total.

See also