Gambaran Umum Disbursement
Disbursement API memungkinkan merchant untuk melakukan transfer dana ke rekening bank tujuan secara terprogram. Menggunakan mekanisme dua langkah (inquiry → payment) untuk memastikan validitas rekening sebelum dana dikirim.
Endpoint
| Endpoint | Metode | Keterangan |
|---|---|---|
POST /api/v1/merchant/disbursement/inquiry | POST | Validasi rekening tujuan (tidak memotong saldo) |
POST /api/v1/merchant/disbursement/payment | POST | Eksekusi transfer dana |
POST /api/v1/merchant/disbursement/status | POST | Cek status transaksi disbursement |
Karakteristik
- Protokol: HTTP POST
- Format Data: JSON /
Content-Type: application/json - Autentikasi: API Key via header
X-API-Key - Keamanan Tambahan: Signature Validation (opsional)
- Timeout Request: 8 detik
Alur Transaksi
Merchant Sistem
│ │
│ POST /disbursement/inquiry │
│─────────────────────────────────────>│
│ │ validasi rekening ke biller
│ 200 OK { inquiry_reff, │
│ account_name, fee } │
│<─────────────────────────────────────│
│ │
│ POST /disbursement/payment │
│─────────────────────────────────────>│
│ │ potong saldo, kirim ke bank tujuan
│ 200 OK { status, ref_id } │
│<─────────────────────────────────────│
│ │
│ (opsional) POST /disbursement/status│
│─────────────────────────────────────>│
│ 200 OK { status final } │
│<─────────────────────────────────────│
Poin Penting
- Inquiry tidak memotong saldo — hanya memvalidasi rekening dan mendapatkan informasi fee.
- Payment memotong saldo — jika
rc: "000"ataurc: "00", saldo langsung berkurang. - Status PENDING — terjadi jika biller belum konfirmasi final. Gunakan
/statusuntuk polling. - Jangan kirim payment ulang sebelum cek status — risiko double transfer.
- Idempotency via
req_id— retry aman denganreq_idyang sama jika terjadi timeout.
Validasi Request
- Nominal (
amount) harus berupa string digit (contoh:"100000"), tidak boleh negatif, desimal, atau scientific notation. - Minimal transfer: Rp 10.000 (
"10000"). - Field yang tidak dikenal dalam JSON body akan ditolak dengan
HTTP 422.
Kode Bank Umum
| Kode | Nama Bank |
|---|---|
002 | Bank Rakyat Indonesia (BRI) |
008 | Mandiri |
009 | Bank Negara Indonesia (BNI) |
014 | Bank Central Asia (BCA) |
022 | CIMB Niaga |
028 | Wulandari Kencana (OCBC NISP) |
032 | Bank Tabungan Pensiun Nasional (BTPN) |
036 | Bank Tabungan Negara (BTN) |
046 | DKI Jakarta |
200 | Danamon |
213 | BTPN Syariah |
426 | Mega |
451 | Syariah Indonesia (BSI) |
484 | Sahabat Sampoerna |
553 | BRI Syariah / BSI |
898 | Nobu (National Nobu) |
Gunakan endpoint Katalog Produk untuk mendapatkan daftar produk transfer yang tersedia (kode bank dapat juga diambil dari sana).