Skip to contentGet $10 to get started

Product Updates

Inside the TheyPaid Dashboard: Invoice Status That Actually Helps

4 min readTheyPaid

See how TheyPaid invoice statuses, blockchain monitoring and payout-to-wallet actually appear in the merchant dashboard — with a status map operators can use.

TheyPaid journal cover for dashboard invoice status tracking

Most payment dashboards show a balance you do not fully control. The TheyPaid merchant dashboard is the other way around: the coins never live there. What you are looking at is invoice state — created, watching the chain, paid, short, or expired — while settlement already happened in the wallet you configured.

This is a status map for operators. Pair it with the non-custodial gateway guide if you need the model, or the online store checklist if you are wiring checkout.

What the dashboard is for

TheyPaid describes itself as software for invoices, payment details, public-chain monitoring, and notifications. Open dashboard.theypaid.io when you need to:

  • See which invoices are still waiting on a customer.
  • Confirm that a “customer says they paid” email matches a transaction the network actually has.
  • Check which assets your store currently accepts.
  • Pull an invoice ID for support or for your own database.

It is not a place to “release” funds. If the payment was valid, your wallet already has it. If it was not, staring at the dashboard will not create coins.

A status map you can brief support on

Name the states the same way in the dashboard, in your store admin, and in customer emails. A workable map:

StatusWhat it meansWhat you do
Created / monitoringInvoice is live. TheyPaid is watching the address for the quoted amount.Wait. Do not ship. Tell the customer the exact amount and network if they ping you.
PaidDetected payment meets the invoice.Fulfil according to your confirmation policy. The wallet credit is already yours.
InsufficientSomething arrived, but not enough.Do not fulfil. Send the shortfall or issue a fresh invoice. Never “split the difference” silently.
ExpiredThe monitoring window ended without a qualifying payment.Issue a new invoice. Do not reuse copy-pasted addresses from old chats.

The public SDK treats paid, insufficient, and expired as terminal. Your plugin or backend should too. Polling (invoices.poll() in the SDK) is for the in-progress window, not for hoping a terminal invoice changes its mind.

Monitoring is the product, not a spinner

Non-custodial checkout only works if something is looking at the chain. TheyPaid’s own materials describe monitoring windows (short real-time windows versus longer periodic checks) and that usage stops when payment is detected. That is the operator-relevant part: you are not paying to watch an invoice forever after it has already paid.

Practically:

  • Short invoices (pay-now checkouts) should use short, real-time monitoring.
  • “Pay this quote this week” invoices need a longer window and a clear expiry in the email you send.
  • Once status is paid, stop polling. Your systems should key off the terminal state.

If an invoice sits in monitoring longer than your customer claims they paid, the next step is not “trust the screenshot.” Open the invoice, compare asset, destination, and amount to the transaction they sent. Wrong network is still the most common miss.

API, callbacks, and not getting spoofed

Dashboard clicks do not scale. Production stores should:

  1. Create invoices from the backend (POST /invoice).
  2. Persist the TheyPaid invoice ID next to your order ID.
  3. Either poll GET /invoice/{id} or receive the callback payload.
  4. On any status change, re-fetch or compare id and amounts with what you stored. Fulfil only when those match and status is paid.

TheyPaid’s SDK webhook helpers parse a body and check status === 'PAID'. They also warn that there is no HMAC signature — which means the callback URL must not be the only control. The dashboard remains the human audit trail when a callback fails or a shop staff member needs to see the same object the API returned.

Fees you will see next to an invoice

The pricing page calculates a processing fee from invoice amount (0.65% on very small invoices, stepping down to 0.35% on very large ones). That fee is independent of which coin the customer used. Network fees still belong to the blockchain transaction.

Two numbers people mix up in support tickets:

  • Invoice amount — what the customer was asked to send.
  • Paid amount — what the API reports actually arrived.

If those diverge, you are in insufficient or overpayment territory. The dashboard is where you reconcile that before anyone ships a box.

A 10-minute operator drill

Before you give customer-support access:

  1. Create a tiny invoice in the dashboard.
  2. Pay it from a wallet you control on the correct network.
  3. Confirm the coins in the wallet and the invoice status in the dashboard.
  4. Create a second invoice and send the wrong amount. Confirm it lands on insufficient, not paid.
  5. Let a third invoice expire. Confirm your storefront copy asks for a new invoice, not a retry to the same QR in a stale email.

When those three paths look right, the dashboard is doing its job: it is a status surface for money that already moved on-chain.

Open the TheyPaid dashboard and run the drill with the starting balance from signup before you put crypto on a production checkout.

FAQ

Where do I track TheyPaid invoices?

In the merchant dashboard at dashboard.theypaid.io. Each invoice has a status derived from public blockchain activity for the payment address and amount you issued.

What invoice statuses should my store handle?

Plan for paid, insufficient, and expired as terminal states, plus an in-progress monitoring state while the gateway is watching the chain. Do not fulfil until your rule for “paid” is met.

Do funds sit in the TheyPaid dashboard until I withdraw?

No. TheyPaid is non-custodial. Detected payments are already in your wallet. The dashboard tracks invoice state; it is not a custody balance you withdraw from.

ShareXLinkedIn