SumoRouter
SumoRouter Admin API

Reports & payments

Server

Finance overview and the log of every top-up request.


Get the finance report

GET
https://ai.brandkamu.id/api/admin
/reports

A finance snapshot: what users hold (total balance), what came in (top-ups, coupons, affiliate rewards, admin credit) and what was spent, for today, yesterday, this week (since Monday), this month and all time; daily figures for the last 30 days; the largest balances; and open pending top-ups. Day boundaries follow tz. Top-up money is counted for one payment environment at a time (env), so sandbox tests never show up as revenue; coupons, affiliate rewards, admin credit and usage are not environment-specific.

Get the finance report › query Parameters

tz
​string

IANA time zone for day/hour boundaries, e.g. Asia/Jakarta. Defaults to the site time zone.

env
​string · enum

Payment environment to count. Defaults to the active environment; all counts both.

Enum values:
live
sandbox
all

Get the finance report › Responses

The report.

tz
​string · required
env
​string | null · enum · required

null when both environments are counted.

Enum values:
live
sandbox
generated_at
​string · date-time · required
​object · required
​ReportPeriod[] · required

In order today, yesterday, week, month, all.

​object[] · required

The last 30 days, oldest first, every day present.

​object[] · required

Up to 10 largest positive balances.

open_pending
​integer · required

Unpaid top-ups right now, whatever their age.

open_pending_idr
​integer · int64 · required

List payments

GET
https://ai.brandkamu.id/api/admin
/payments

Every top-up request across users, newest first, with counts per status for the same filters.

List payments › query Parameters

status
​string · enum

All when absent or all.

Enum values:
all
pending
completed
failed
expired
env
​string · enum

Payment environment to count. Defaults to the active environment; all counts both.

Enum values:
live
sandbox
all
q
​string

Case-insensitive substring of the order id, payment id, user email or name.

from
​string · date-time

Created at or after (inclusive). No lower bound when absent.

to
​string · date-time

Created before (exclusive). No upper bound when absent.

limit
​integer · min: 1 · max: 200
Default: 25
offset
​integer · min: 0

Rows to skip.

Default: 0

List payments › Responses

A page of payments.

​Payment[] · required
total
​integer · required
​object[] · required

Per status for the same filters, ignoring status. Statuses with no rows are absent.


Get a payment

GET
https://ai.brandkamu.id/api/admin
/payments/{order_id}

One top-up with the raw gateway create response and the last webhook payload, for support.

Get a payment › path Parameters

order_id
​string · required

Get a payment › Responses

The top-up.

order_id
​string · required
user_id
​string · uuid · required
email
​string | null · required
name
​string | null · required
amount_idr
​integer · int64 · required
credit_nano
​integer · int64 · required

Credit granted when paid, nano-USD.

status
​TopupStatus · enum · required
Enum values:
pending
completed
failed
expired
environment
​PaymentEnv · enum · required
Enum values:
sandbox
live
payment_id
​string | null · required

The gateway's payment id.

paid_at
​string | null · date-time · required
created_at
​string · date-time · required
payment_link_url
​string | null · required
payment_code
​string | null · required

QRIS payload.

create_response
​required

The gateway's raw reply when the payment was created (JSON or null; may be cleared by retention).

webhook_payload
​required

The last webhook received for this order (JSON or null; may be cleared by retention).