Balance Topup Request
Terakhir diperbarui: 25 September 2026.
Balance Topup Request digunakan untuk menampilkan rekening tujuan topup, membuat pengajuan topup saldo, dan memantau status pengajuan. Flow ini cocok untuk mitra yang ingin menyediakan pengisian saldo dengan transfer bank manual dan verifikasi admin Miharogames.
Semua endpoint pada halaman ini menggunakan header berikut.
Authorization: Bearer o8coocg8k0ss4wcgk0o8........
X-SECRET-KEY: {partner_secret_key}
List Topup Bank
GET /client/v2/balance-topup/banks
Authorization: Bearer o8coocg8k0ss4wcgk0o8........
X-SECRET-KEY: {partner_secret_key}
Endpoint ini mengembalikan rekening bank aktif yang dapat digunakan untuk pengajuan topup saldo.
Success Response
{
"status": true,
"data": [
{
"bank_account_id": 5,
"bank_id": 7,
"bank_name": "BANK BCA",
"bank_code": "014",
"account_number": "7860099939",
"account_name": "PT Mitra Distribusi Utama",
"payment_guides": [
{
"channel": "m-BCA (BCA Mobile)",
"steps": [
"Buka aplikasi BCA Mobile, lalu pilih m-BCA.",
"Pilih menu m-Transfer, kemudian pilih Antar Rekening."
]
}
]
}
],
"message": "OK"
}
Gunakan bank_account_id sebagai input saat membuat pengajuan topup saldo.
Submit Topup Request
POST /client/v2/balance-topup/request
Authorization: Bearer o8coocg8k0ss4wcgk0o8........
X-SECRET-KEY: {partner_secret_key}
Content-Type: application/json
Body
{
"nominal": 10000,
"bank_account_id": 5
}
| Field | Wajib | Keterangan |
|---|---|---|
nominal | Ya | Nominal topup. Harus integer murni, minimal 10000, maksimal 50000000. |
bank_account_id | Ya | ID rekening dari endpoint GET /client/v2/balance-topup/banks. |
Sistem menambahkan unique_code agar nominal transfer dapat dibedakan dari pengajuan lain. Customer wajib transfer sesuai total_transfer.
Success Response
{
"status": true,
"data": {
"id": 5,
"request_code": "BTU/KFI/IX/2026/4",
"nominal": 10000,
"unique_code": 577,
"total_transfer": 10577,
"status": "pending",
"expired_at": "2026-09-25 13:01:17",
"bank_destination": {
"bank_account_id": 5,
"bank_id": 7,
"bank_name": "BANK BCA",
"bank_code": "014",
"account_number": "7860099939",
"account_name": "PT Mitra Distribusi Utama"
},
"payment_guides": [],
"admin_confirmation": {
"whatsapp_number": "6281234567890",
"message_text": "Halo Admin Miharogames,...",
"chat_url": "https://wa.me/6281234567890?text=..."
}
},
"message": "Pengajuan topup saldo berhasil dibuat. Silakan transfer tepat sesuai total nominal yang ditentukan sebelum batas waktu."
}
Topup Request History
GET /client/v2/balance-topup/requests?status=all&search=&page=1&pageSize=25&startDate=2026-09-01&endDate=2026-09-25
Authorization: Bearer o8coocg8k0ss4wcgk0o8........
X-SECRET-KEY: {partner_secret_key}
Query
| Query | Wajib | Keterangan |
|---|---|---|
status | Tidak | Filter status pengajuan. Default all. |
search | Tidak | Cari berdasarkan kode pengajuan, status, alasan tolak, nama bank, nomor rekening, atau nama rekening. |
startDate | Tidak | Tanggal awal format YYYY-MM-DD. |
endDate | Tidak | Tanggal akhir format YYYY-MM-DD. |
page | Tidak | Nomor halaman. Default 1. |
pageSize | Tidak | Jumlah data per halaman. Default 10, maksimal 100. |
Filter tanggal menggunakan tanggal pembuatan pengajuan. Jika menggunakan range, kirim startDate dan endDate bersamaan.
Status Filter
| Value | Keterangan |
|---|---|
all | Semua pengajuan. |
pending | Pengajuan dibuat dan menunggu transfer/verifikasi. |
success | Pengajuan berhasil diproses menjadi saldo. |
expired | Pengajuan melewati batas waktu transfer. |
failed | Pengajuan ditolak admin. |
Success Response
{
"status": true,
"data": [
{
"id": 5,
"request_code": "BTU/KFI/IX/2026/4",
"nominal": 10000,
"unique_code": 577,
"total_transfer": 10577,
"status": "failed",
"reject_reason": "Nominal transfer tidak sesuai.",
"expired_at": "2026-09-25 13:01:17",
"matched_at": null,
"created_at": "2026-09-25 12:46:17",
"bank_destination": {
"bank_account_id": 5,
"bank_name": "BANK BCA",
"account_number": "7860099939",
"account_name": "PT Mitra Distribusi Utama"
}
}
],
"pagination": {
"total": 1,
"page": 1,
"perPage": 25,
"totalPages": 1
},
"message": "OK"
}
Response Codes
| HTTP | Kondisi | Message |
|---|---|---|
200 | Data berhasil dimuat. | OK |
201 | Pengajuan berhasil dibuat. | Pengajuan topup saldo berhasil dibuat... |
400 | Nominal, bank account, status, tanggal, atau page size tidak valid. | Sesuai field yang gagal divalidasi. |
401 | Secret key/token salah. | Akses ditolak..., Token wajib diisi., atau Token tidak valid. |
500 | Gangguan sistem. | Daftar bank topup belum dapat dimuat., Riwayat pengajuan topup belum dapat dimuat., atau pesan gangguan sistem. |