Credit top-ups (QRIS via Sumopod), coupon redemption and history.
Get top-up configuration
Public. Whether top-ups are available, the IDR→USD rate and the allowed amount range.
Get top-up configuration › Responses
Configuration.
enabledTop-ups can be created.
idr_per_usdRupiah per 1 USD of credit.
min_topup_idrmax_topup_idrpayment_methodList top-ups
The user's top-ups, newest first. pending is the latest unpaid top-up regardless of page (poll it
while the user pays); completed counts paid top-ups — when it grows, refresh the balance.
query Parameters
limitoffsetList top-ups › Responses
Create a top-up
Starts a QRIS payment for amount_idr (within min_topup_idr–max_topup_idr from the config).
Credit is amount_idr × 1e9 / idr_per_usd nano-USD, fixed at creation. Show payment_link_url
or payment_code (the QRIS payload) to the user, then poll GET /api/billing/topups/{order_id}
until status is completed, failed or expired. Credit is added when the payment provider
confirms the payment.
Create a top-up › Request Body
amount_idrAmount in whole Indonesian Rupiah.
Create a top-up › Responses
The pending top-up with payment details.
order_idamount_idrAmount paid, whole Rupiah.
credit_nanoCredit added when paid, nano-USD.
statuspayment_link_urlHosted payment page.
payment_codeQRIS payload to render as a QR code.
paid_atcreated_atGet a top-up
One of the user's top-ups by order id; poll this to follow a payment.
path Parameters
order_idGet a top-up › Responses
The top-up.
order_idamount_idrAmount paid, whole Rupiah.
credit_nanoCredit added when paid, nano-USD.
statuspayment_link_urlHosted payment page.
payment_codeQRIS payload to render as a QR code.
paid_atcreated_atRedeem a coupon code
Adds the coupon's credit to the balance. Codes are case-insensitive (4–32 characters of
A–Z 0–9 - _). Each code can be redeemed once per user. Unknown, inactive and expired codes all
return the same 400. Limited to 5 attempts per user (20 per IP) per minute.
Redeem a coupon code › Responses
Redeemed.
credit_nanoCredit added, nano-USD.
balance_nanoNew balance, nano-USD.