Kode Respons
Bentuk jawaban dari server dan arti setiap kode galat.
Semua jawaban dari server berupa JSON dengan pola yang sama. Cukup cek isian status: bernilai success bila permintaan berhasil, atau error bila ditolak.
Jawaban berhasil
HTTP 200
{
"code": 200,
"status": "success",
"message": "Berhasil.",
"data": { ... }
}Jawaban gagal
HTTP 402
{
"code": 402,
"status": "error",
"error_code": "INSUFFICIENT_BALANCE",
"message": "Saldo tidak cukup. Saldo saat ini Rp 0."
}| Isian | Keterangan |
|---|---|
code | Sama dengan kode status HTTP. |
status | success atau error. |
error_code | Kode galat yang tetap (tabel di bawah). Pakai ini untuk logika program Anda. |
message | Penjelasan untuk dibaca manusia. Kalimatnya bisa berubah, jangan dipakai untuk logika program. |
Daftar kode galat
Autentikasi dan akun
| error_code | HTTP | Arti dan yang perlu dilakukan |
|---|---|---|
MISSING_AUTH | 401 | secret_id atau signature tidak dikirim. Pastikan keduanya ada di body JSON. |
INVALID_CREDENTIALS | 401 | secret_id atau signature salah. Periksa rumus di halaman Autentikasi. |
ACCOUNT_INACTIVE | 403 | Akun tidak aktif. Hubungi CS. |
API_DISABLED | 403 | API belum diaktifkan. Nyalakan di menu Kredensial API. |
ACCOUNT_NOT_VERIFIED | 403 | API hanya untuk akun terverifikasi. Selesaikan Verifikasi Akun. |
IP_NOT_ALLOWED | 403 | IP server Anda belum didaftarkan di whitelist. Tambahkan di Kredensial API. |
Transaksi
| error_code | HTTP | Arti dan yang perlu dilakukan |
|---|---|---|
INSUFFICIENT_BALANCE | 402 | Saldo tidak cukup. Lakukan topup. |
VALIDATION_ERROR | 422 | Ada isian wajib yang kosong atau formatnya salah (lihat message). |
INVALID_DESTINATION | 422 | Nomor atau ID tujuan tidak valid untuk produk ini. |
PRODUCT_UNAVAILABLE | 422 | Produk sedang gangguan. Coba lagi nanti atau pilih produk lain. |
REJECTED | 422 | Ditolak karena aturan lain (lihat message). |
PRODUCT_NOT_FOUND | 404 | Kode produk tidak ada atau tidak dijual lewat API. |
TRANSACTION_NOT_FOUND | 404 | Transaksi tidak ditemukan. |
PRODUCT_IS_BILL | 422 | Produk ini produk tagihan. Pakai Cek Tagihan lalu Bayar Tagihan, bukan Buat Transaksi. |
PRODUCT_NOT_BILL | 422 | Produk ini bukan produk tagihan. Pakai Buat Transaksi. |
BILL_NOT_FOUND | 404 | Hasil cek tagihan untuk ref_id ini tidak ada (atau tagihan tidak bisa dibayar). Cek tagihan dulu. |
INQUIRY_PENDING | 409 | Cek tagihan belum selesai. Panggil ulang Cek Tagihan dengan ref_id yang sama sampai statusnya berubah, lalu bayar. |
INQUIRY_EXPIRED | 410 | Hasil cek tagihan sudah kedaluwarsa. Cek ulang dengan ref_id baru. |
AMOUNT_MISMATCH | 409 | amount yang Anda kirim berbeda dari total hasil cek tagihan. Saldo tidak terpotong. |
DUPLICATE_REF_ID | 409 | ref_id ini sudah dipakai untuk produk atau tujuan yang berbeda. Pakai ref_id baru. |
TRANSACTION_BLOCKED | 403 | Transaksi akun Anda sedang diblokir. Hubungi CS. |
BALANCE_UNDER_REVIEW | 403 | Saldo sedang diperiksa. Hubungi CS. |
Umum
| error_code | HTTP | Arti dan yang perlu dilakukan |
|---|---|---|
NOT_FOUND | 404 | Alamat endpoint salah, atau metode bukan POST. |
RATE_LIMITED | 429 | Terlalu banyak request. Tunggu sesuai header Retry-After lalu coba lagi. |
MAINTENANCE | 503 | Sedang pemeliharaan rutin. Pembelian ditolak, tetapi cek saldo, produk, dan status tetap bisa dipakai. |
INTERNAL_ERROR | 500 | Galat di server kami. Cek status transaksi dengan ref_id Anda sebelum mengulang membeli. |
Bila request timeout atau menerima galat 5xxJangan langsung membuat transaksi baru. Ulangi request yang sama dengan
ref_id yang sama: bila transaksinya sudah tercatat, Anda mendapat transaksi yang sama dan saldo tidak terpotong dua kali.