Pembayaran / Top-up
Isi saldo kredit kamu lewat transfer bank. Pilih paket, transfer sesuai jumlah unik yang ditampilin, dan kreditnya otomatis masuk begitu transfernya kedeteksi — nggak perlu konfirmasi manual, nggak perlu upload bukti transfer.
Cara kerja top-up
Pilih paket kredit
Dapetin jumlah transfer unik kamu
50.000 jadi 50.237). Jumlah persis ini yang bikin kami bisa mencocokkan transfer kamu ke akun kamu.Transfer jumlah yang PERSIS
Tunggu — ini otomatis
PAID dengan sendirinya. Kamu nggak perlu kirim bukti transfer atau kabarin siapa pun.Saldo ke-update
Transfer jumlah yang persis
Kenapa jumlahnya ganjil?
Banyak orang bisa top up paket yang sama di waktu yang bersamaan, dan harga dasar polos (misalnya 50.000) jadi ambigu — beberapa transfer masuk dengan nilai yang sama nggak bisa dibedain. Kode unik 3 digit bikin jumlah tiap invoice yang masih pending jadi beda-beda, jadi transfer sebesar 50.237 cuma cocok ke satu invoice dan satu akun. Makanya jumlahnya keliatan ganjil dan nggak boleh dibulatkan.
Rekonsiliasi otomatis
API buat integrator
Alur yang sama tersedia secara programatik. Semua endpoint pakai autentikasi session (cookie user yang lagi login); invoice selalu ter-scope ke user yang manggil.
List paket
/api/payment/packages{
"configured": true,
"packages": [
{ "id": "pkg_starter", "name": "Starter", "credits": 50000, "priceIdr": 50000 },
{ "id": "pkg_pro", "name": "Pro", "credits": 200000, "priceIdr": 190000 }
]
}Bikin invoice
/api/payment/invoices{ "packageId": "pkg_starter" }{
"id": "inv_abc123",
"status": "PENDING",
"credits": 50000,
"amountBase": 50000,
"uniqueCode": 237,
"amountExpected": 50237,
"bankName": "BCA",
"bankAccount": "1234567890",
"bankHolder": "PT Hermes",
"expiresAt": "2026-07-08T12:30:00Z"
}amountExpected = amountBase + uniqueCode. Suruh yang bayar transfer amountExpected persis ke bankAccount (bankHolder) sebelum expiresAt.
Poll status invoice
/api/payment/invoices/{id}{
"id": "inv_abc123",
"status": "PAID",
"credits": 50000,
"amountExpected": 50237,
"paidAt": "2026-07-08T12:05:11Z"
}Poll endpoint ini (halaman top-up poll tiap 8 detik) sampai status berubah dari PENDING ke PAID. Status terminalnya adalah PAID / SETTLED (udah dikredit), EXPIRED (waktu abis — bikin invoice baru buat dapet jumlah unik yang segar), dan FAILED.
Kedaluwarsa
expiresAt. Setelah itu jumlah uniknya dilepas dan dipakai lagi, jadi invoice yang udah kedaluwarsa nggak bisa dibayar lagi — bikin yang baru buat dapet jumlah yang segar.