Skip to main content

Daftar Error Codes

Semua error API IsiKuota dikembalikan dalam format:

{
"success": false,
"code": "INVALID_API_KEY",
"message": "API ID tidak ditemukan atau tidak aktif",
"data": null,
"errors": null,
"meta": null
}

Periksa field success dan code untuk menentukan tindakan yang tepat.


General

HTTPCodeKeterangan
200SUCCESSRequest berhasil diproses
201CREATEDData baru berhasil dibuat
200PENDINGRequest masih dalam proses
400FAILEDKesalahan umum
500SERVER_ERRORKesalahan internal server

Autentikasi & Keamanan

HTTPCodeKeterangan
401UNAUTHORIZEDTidak terautentikasi
401INVALID_SIGNATURESignature tidak valid
401INVALID_API_KEYAPI Key salah atau tidak valid
401SESSION_EXPIREDSesi sudah kedaluwarsa
401INVALID_CREDENTIALSKredensial tidak valid
403FORBIDDENTidak punya izin
403IP_NOT_ALLOWEDIP tidak ada di whitelist
403ACCESS_DENIEDAkses ditolak
403ACCOUNT_SUSPENDEDAkun disuspend
403ACCOUNT_LOCKEDAkun dikunci
403LOGIN_BLOCKEDLogin diblokir
403BLACKLISTED_TARGETNomor tujuan diblokir
403SUBSCRIPTION_REQUIREDButuh subscription aktif
405METHOD_NOT_ALLOWEDHTTP method tidak diizinkan

Validasi

HTTPCodeKeterangan
400INVALID_PARAMETERParameter request kurang atau salah
400INVALID_COMMANDNilai cmd tidak dikenal
422VALIDATION_FAILEDValidasi data gagal
400INVALID_PHONE_NUMBERNomor HP tidak valid
400INVALID_PRODUCTKode produk tidak valid
400INVALID_AMOUNTNominal tidak valid
400INVALID_REF_IDFormat ref_id tidak valid
409DUPLICATE_REF_IDref_id sudah digunakan sebelumnya
400INVALID_CUSTOMER_IDID pelanggan tidak valid
400INVALID_TARGET_NUMBERNomor tujuan tidak valid
422INVALID_PINPIN salah
422WRONG_PASSWORDPassword salah

Saldo

HTTPCodeKeterangan
400INSUFFICIENT_BALANCESaldo tidak mencukupi
409BALANCE_LOCKEDSaldo sedang dikunci
500BALANCE_OPERATION_FAILEDOperasi saldo gagal

Produk & Kategori

HTTPCodeKeterangan
404PRODUCT_NOT_FOUNDKode produk tidak ditemukan
503PRODUCT_OFFLINEProduk sedang offline
404PRODUCT_NOT_AVAILABLEProduk tidak tersedia
503PRODUCT_MAINTENANCEProduk sedang maintenance
404CATEGORY_NOT_FOUNDKategori tidak ditemukan
404CUSTOMER_NOT_FOUNDNomor pelanggan tidak ditemukan di provider

Inquiry Pascabayar

HTTPCodeKeterangan
400INQUIRY_REQUIREDLakukan cek tagihan (inquiry) terlebih dahulu sebelum membayar
400INQUIRY_EXPIREDSesi inquiry sudah habis (5 menit), ulangi cek tagihan

Transaksi & Order

HTTPCodeKeterangan
409DUPLICATE_TRANSACTIONTransaksi duplikat terdeteksi
200ORDER_SUCCESSTransaksi berhasil
400ORDER_FAILEDTransaksi gagal
200ORDER_PENDINGTransaksi menunggu konfirmasi
200ORDER_PROCESSINGTransaksi sedang aktif diproses di provider
409ORDER_ALREADY_PROCESSEDTransaksi sudah diproses sebelumnya
200ORDER_REFUNDEDTransaksi telah direfund
410ORDER_EXPIREDTransaksi sudah kedaluwarsa
404ORDER_NOT_FOUNDTransaksi tidak ditemukan

Tagihan Pascabayar

HTTPCodeKeterangan
200BILL_INQUIRY_SUCCESSCek tagihan berhasil
400BILL_INQUIRY_FAILEDCek tagihan gagal
409BILL_ALREADY_PAIDTagihan sudah dibayar
200BILL_PAYMENT_SUCCESSPembayaran tagihan berhasil
400BILL_PAYMENT_FAILEDPembayaran tagihan gagal
200BILL_PAYMENT_PENDINGPembayaran tagihan pending
404BILL_NOT_AVAILABLETagihan tidak tersedia
409BILL_AMOUNT_MISMATCHNominal tagihan tidak sesuai

Provider

HTTPCodeKeterangan
504PROVIDER_TIMEOUTProvider tidak merespons (timeout)
502PROVIDER_ERRORProvider mengembalikan error
503PROVIDER_MAINTENANCEProvider sedang maintenance
502PROVIDER_REJECTEDProvider menolak transaksi
200PROVIDER_PENDINGTransaksi pending di sisi provider
502PROVIDER_CONNECTION_FAILEDTidak dapat terhubung ke provider

Callback

HTTPCodeKeterangan
200CALLBACK_SUCCESSCallback berhasil diterima
400CALLBACK_FAILEDCallback gagal divalidasi
401CALLBACK_SIGNATURE_INVALIDSignature callback tidak valid
403CALLBACK_NOT_ALLOWEDSumber callback tidak diizinkan

Refund

HTTPCodeKeterangan
200REFUND_SUCCESSRefund berhasil
400REFUND_FAILEDRefund gagal
409REFUND_NOT_ELIGIBLETransaksi tidak memenuhi syarat refund
409REFUND_ALREADY_PROCESSEDRefund sudah diproses sebelumnya

Rate Limit

HTTPCodeKeterangan
429TOO_MANY_REQUESTSTerlalu banyak request, coba lagi nanti

Sistem & Database

HTTPCodeKeterangan
404DATA_NOT_FOUNDData tidak ditemukan
500DATABASE_ERRORKesalahan database
503SYSTEM_MAINTENANCESistem sedang maintenance
503SERVICE_UNAVAILABLELayanan tidak tersedia
502NETWORK_ERRORJaringan bermasalah
504CONNECTION_FAILEDKoneksi gagal

Deposit

HTTPCodeKeterangan
200DEPOSIT_SUCCESSDeposit berhasil
200DEPOSIT_PENDINGDeposit menunggu pembayaran
400DEPOSIT_FAILEDDeposit gagal
408DEPOSIT_EXPIREDDeposit kedaluwarsa
200DEPOSIT_REFUNDDeposit direfund
409DEPOSIT_PENDING_EXISTSMasih ada deposit pending yang belum selesai

Aturan Bisnis

HTTPCodeKeterangan
403OPERATION_NOT_ALLOWEDOperasi tidak diizinkan
403FEATURE_DISABLEDFitur dinonaktifkan
400NOT_SUPPORTEDOperasi tidak didukung

Contoh Penanganan Error

<?php
$response = json_decode($apiResponse, true);

if (!$response['success']) {
switch ($response['code']) {
case 'ORDER_PENDING':
case 'PROVIDER_PENDING':
// Simpan ref_id, tunggu callback
break;

case 'INSUFFICIENT_BALANCE':
// Notifikasi admin untuk top up
break;

case 'PROVIDER_TIMEOUT':
case 'PROVIDER_ERROR':
// Cek status via /status sebelum retry
break;

case 'INVALID_SIGNATURE':
case 'INVALID_API_KEY':
// Log dan periksa implementasi signature
break;

case 'DUPLICATE_REF_ID':
case 'ORDER_ALREADY_PROCESSED':
// Cek status transaksi yang sudah ada
break;

case 'INQUIRY_EXPIRED':
// Ulangi inquiry dari awal
break;

default:
// Log untuk investigasi
break;
}
}
Jangan selalu retry

Beberapa error seperti INSUFFICIENT_BALANCE, INVALID_PHONE_NUMBER, dan PRODUCT_NOT_FOUND tidak akan berhasil meskipun diretry. Tangani sesuai kode error-nya.

tip

Selalu log field code dan message dari setiap response untuk memudahkan debugging dan monitoring transaksi.