An invoice in the dashboard
An invoice created through the API is not a separate kind of object: it appears in the dashboard next to the ones created there, with the same statuses and the same actions. This guide follows one across the five screens it touches — the list it lands in, its own card, the page your customer pays on, the transaction it produces, and the totals it moves.
The endpoints behind these screens are on Invoices and Transactions.
Invoices list
/invoices is the full list, newest first, titled Invoices. Its columns are Invoice ID, Type, Total amount, Status, Created at and Invoice URL. The last column holds the payment link with a copy button next to it, and the chevron at the end of the row opens the invoice.
Above the table sit filters for Status, Type and Period, plus a Search field; More at the bottom loads the next page. An account with nothing in it shows No invoices here yet.
Type is a displayed label, not the value the API speaks. Send the label where a request expects the constant and it is rejected, so read the column through this table rather than off the screen.
| Type column | API type |
|---|---|
| Payment | PAYME |
| Goods & Services | GOODS_SERVICES |
| Donation | DONATION |
| Subscription | SUBSCRIPTION |
The same type is labelled differently on different screens.
PAYME reads Payment in the list and Pay me on the invoice card. The label is presentation and it changes; type is the contract. Branch on the API value.
The Status column is labelled the same way, and the table below reads it: this is how the screen spells the statuses it can show, not a vocabulary to branch on. No closed list of invoice statuses is published in this version of the documentation, and the filter the list itself sends has its own — see Invoices for what the contract does guarantee.
| Status column | Value behind it |
|---|---|
| Active | ACTIVE |
| Processing | PROCESSING |
| Partially paid | PARTIALLY_PAID |
| Paid | PAID |
| Paid late | PAID_LATE |
| Refunded | REFUNDED |
| Expired | EXPIRED |
| Canceled | CANCELED |
| Paused | PAUSED |
Invoice card
Opening a row leads to /invoices/invoice/:invoiceId, headed Invoice with the status badge beside it. The card lists Invoice ID, Type, Created at, Expires at when the invoice has an expiry, Pay currency, Amount, Description and Order ID — the values you sent on create, read back.
Below them is the payment link block: Share this link with your client to receive payment, the link itself with a copy button, and a QR code of the same URL.
Which buttons the heading shows depends on the status. Cancel appears while the invoice can still be paid and Reactivate appears on a cancelled one; Duplicate opens the create form prefilled from this invoice, and Delete is offered for donation invoices.
The Payments block underneath is the receipts side: one row per event — Payment confirmed, Payment processing, Partial payment, Payment refunded or Payment failed — with a Total: line and a More button when there are more than fit. Until the first receipt arrives it reads No payments yet.
Payment page
The businessInvoiceUrl in the create response is this page — there is nothing else to build. Copying the link from the Invoice URL column or from the invoice card gives the same URL, so you can check what your customer will see before you send it anywhere.
The page opens with the invoice type as its title — Quick Invoice, Product invoice, Donation or Subscription — and shows Seller, the Description and any Order ID. The Payment method select offers Crypto and Card, but the card option is switched off and carries the hint Card payments are coming soon, so crypto is the only method today. The customer picks a Currency out of the coins the invoice allows, gives an Email, sees a Summary of Amount, Fee and Total, and presses Continue.
After that the page shows a deposit address with a QR code (Scan the code or copy the address to pay), a Rate expires in countdown, and the instruction After paying, please wait on this screen. We'll confirm your payment here automatically. An underpayment turns into Partial payment received with the remaining sum spelled out, and the invoice moves to Partially paid in your list.
An invoice that can no longer be paid replaces the form with a single message instead, so a stale link never takes a second payment. There are seven such messages, and some of them cover more than one state, so the wording identifies a screen rather than a status: This invoice is already paid, This invoice has expired, This invoice was canceled, Payment incomplete, Payment received late, Payment refunded and Invoice not found.
The payment page is public.
It opens for anyone holding the link, signed in or not. The link is the only thing protecting it, so treat businessInvoiceUrl as something you hand to one customer rather than something you publish.
Payments history
/payments is where a confirmed payment turns into money and a history row. At the top, Total balance with a Detailed balance breakdown per currency — Available, Held, Total — and a Withdraw button.
The Withdraw button is not active yet.
It is shown so the balance block reads completely, but it is switched off and the screen behind it is empty: a payout cannot be started from the dashboard today. The withdrawal API itself is described on Withdrawals.
The table below has Transaction ID, Invoice ID, Type, Amount, Status and Date. Type separates Payment, Payout, Refund and Convert; Status is Pending, Paid or Failed. The Invoice ID column is what ties a receipt back to the invoice that produced it.
Filters cover status, type, currency and period. The search field is exact by design — Paste a full transaction or invoice ID — so a fragment of an id finds nothing.
The filter lists are the full set of values this screen can display, not a promise that all of them occur. What the history actually records today is narrower, and the Transactions reference is the contract for it — read that page, not this screen, before you branch on a type or a status in your own backend.
Dashboard
/dashboard is the aggregate view. Three tiles — Available funds, Revenue (this month) and Turnover — sit above an Income chart with period buttons from Day to chart.periods.3y.
Number of invoices breaks your invoices down by type, Currency shows the crypto you hold valued in your base currency, and Recent invoices repeats the newest rows of the list with a View all invoices link.
Amounts open in the base currency from your payment settings, but that is only the default here: the heading carries a currency selector, and picking another one re-denominates the tiles, the chart and the asset breakdown for the current view. It does not change the base currency your invoices are created in — that setting lives on Payments details.
