Skip to content

The dashboard

Overview answers two questions, in two sections: Platform — how is the business doing — and Operations — what needs me today. Below them, Platform health lists things that should never have a number against them.

Each part appears only if your account holds its permissions, so two people on different roles see a different dashboard.

Word Means
Landed A payment that succeeded. It stays landed even if it is refunded or reversed later.
Failed A payment that failed, expired or was cancelled.
In flight Still pending or waiting for the customer. Counts as neither landed nor failed until it finishes.

Success rate is landed ÷ (landed + failed), so a burst of payments still in flight does not read as an outage. GMV is the amount of collections that landed.

Needs transaction.read. Live by default, with a switch to Sandbox, over the last 7, 30 or 90 days. Every tile compares with the same number of days immediately before — a percentage for amounts and counts, points for the success rate. One currency at a time; GHS by default.

Tile What it is Sub-line
GMV Collections that landed, by amount, with a line of each day. How many collections landed.
Net revenue Our platform fee, less what payment partners charged us (including their tax) and referral shares we paid. Take rate (platform fee ÷ GMV) and margin (net revenue ÷ platform fee).
Success rate Landed ÷ (landed + failed), for collections. How many collections failed.
Active merchants Merchants with at least one payment that landed in the period. How many went live and signed up in the period, and how many are live in all.

“Collections landed per day.” Beneath it, payouts over the period: the amount, how many were sent and how many failed.

“On collections that landed.” A waterfall:

Line
Platform fees What we charged.
− Partner cost What the payment partners charged us, tax included: the actual figure where they reported one, otherwise the expected fee plus its tax.
− Referral shares Commission paid out of our fee to companies that referred merchants.
= Net revenue Ours.

Beneath it, two figures that pass through us and are not revenue: tax collected, and partner fees merchants accepted on top of our price (commission added to the merchant’s fees — see Pricing).

“What each carried, how often it landed, and how long it took to answer us.”

Column Notes
Partner The payment partner.
Carried The amount routed to it.
Landed Its success rate.
p50 / p95 Median and 95th-percentile time for it to answer one of our requests.
Call errors The share of our requests to it that errored.

A partner whose success rate falls while its call errors stay flat is declining real payments; one whose call errors rise is failing to answer. They are different conversations — see Routing.

“By GMV in the window.” The top ten, with each one’s success rate and — with ledger.read — the net revenue we made on them.

“Collections, by where they came from.” GMV split by channel and network or bank, each with its own success rate.

“Every direction, by reason” — collections and payouts together, with each reason’s share of all failures.

“Merchants billing through PaySigna.” How many merchants bill subscriptions, and how many subscriptions are active, in trial and past due across all of them. Merchants’ MRR (with ledger.read) is the merchants’ recurring revenue, not ours — do not add it to anything on this page.

GET /v1/insights/platform?days=7|30|90&environment=live|test&currency= on the provider API. revenue_visible says whether the caller sees the revenue fields.

“What is waiting on a person.”

Tile What it counts Needs Goes to
Approvals waiting Requests pending a second signature. approval.read Approvals
KYC to review Submitted profiles with no decision yet. kyc.read KYC
Open risk alerts Alerts nobody has worked. risk.read Risk
Open disputes Cases still live. dispute.read Disputes

A tile can understate the queue, and says so

Section titled “A tile can understate the queue, and says so”

None of these endpoints returns a total. They return a page and a “there is more” flag — so a tile could print “6” when the queue holds forty, which on a work queue is worse than printing nothing, because it reads as a quiet morning.

Where the flag is set, the tile says there are more in words rather than showing a number as though it were the depth. If a tile hedges like that, open the queue: the page itself is the only honest count.

“Nothing on this list should have a number against it. Each one links to the screen that can act on it.”

Line What it means Goes to
Settlement not moving Live batches blocked by their merchant’s state, not by a hold. Settlements
Disputes past their deadline Expired without a response, so the money has already gone. Disputes
Partners not healthy Active partners that should be carrying traffic and are not. Partners
Stalled job runs Open long after they should have finished — a worker that went away mid-run. Workers
Broken balance invariants Reserved disagreeing with its holds, or available negative where that is forbidden. Ledger

Each line appears only if you hold the permission to read it.

The page says so — “your account has no roles yet” — rather than rendering empty tiles. A new staff account holds nothing until an administrator grants a role. See Staff.

  1. Platform health — anything with a number against it.
  2. Approvals — somebody else is blocked on you.
  3. KYC → Expiring and lapsed — merchants trading on verification that has already run out.
  4. Risk review — payments held with a customer waiting.
  5. Disputes — deadlines that cannot be reopened.