Lakukan transfer QRIS dan transfer bank keluar menggunakan akun DANA.
Semua endpoint membutuhkan header x-api-key. Lihat Authentication.
Endpoint ini memungkinkan Anda melakukan transfer keluar (kirim uang) dari akun DANA yang terhubung — baik via scan QR code maupun transfer langsung ke rekening bank.
POST /api/v1/accounts/:id/transfer — QRIS Transfer
Transfer uang dari akun DANA dengan cara scan gambar QR code. Kirim gambar QR dalam format multipart/form-data.
Path Parameters
| Parameter | Type | Required | Keterangan |
|---|---|---|---|
id | string | Ya | UUID akun DANA (dari Accounts API) |
Request Body (multipart/form-data)
| Field | Type | Required | Keterangan |
|---|---|---|---|
action | string | Ya | Harus dana-qris-create |
qrImage | File | Ya | File gambar (JPG/PNG) yang mengandung QR code |
amount | string | Ya | Jumlah transfer dalam Rupiah (minimum Rp 1) |
Response 200
Errors
| Status | Keterangan |
|---|---|
400 | qrImage tidak disertakan |
400 | Saldo tidak cukup |
400 | Gagal decode QR code dari gambar — pastikan gambar jelas dan QR code terbaca |
401 | API key tidak valid atau tidak ada |
404 | Akun tidak ditemukan |
500 | Internal server error |
Contoh
POST /api/v1/accounts/:id/transfer — List Banks
Ambil daftar bank yang tersedia untuk transfer. Jalankan endpoint ini terlebih dahulu untuk mendapatkan data yang diperlukan di langkah Validate Bank Account.
Request Body
Response 200
Catat instId, instLocalName, payMethod, dan payOption dari bank tujuan — keempat nilai ini diperlukan di langkah berikutnya.
Errors
| Status | Keterangan |
|---|---|
400 | Gagal mengambil daftar bank |
401 | API key tidak valid atau tidak ada |
404 | Akun tidak ditemukan |
500 | Internal server error |
Contoh
POST /api/v1/accounts/:id/transfer — Validate Bank Account
Validasi nomor rekening tujuan dan dapatkan nama pemilik sebelum transfer. Ini adalah konfirmasi bahwa nomor rekening valid dan milik siapa.
Request Body
| Field | Type | Required | Keterangan |
|---|---|---|---|
action | string | Ya | Harus dana-bank-init |
accountNumber | string | Ya | Nomor rekening tujuan |
amount | string | Ya | Jumlah transfer (min. Rp 10.000) |
instId | string | Ya | ID bank dari List Banks |
instLocalName | string | Ya | Nama bank dari List Banks |
payMethod | string | Ya | payMethod dari List Banks |
payOption | string | Ya | payOption dari List Banks |
Response 200
Verifikasi accountName sesuai rekening tujuan. Simpan bankAccountIndexNo — diperlukan di langkah Execute Bank Transfer.
Errors
| Status | Keterangan |
|---|---|
400 | Field wajib tidak lengkap |
400 | Saldo tidak cukup |
400 | Jumlah minimum Rp 10.000 |
400 | Validasi rekening gagal — nomor rekening tidak valid atau bank tidak cocok |
401 | API key tidak valid atau tidak ada |
500 | Internal server error |
Contoh
POST /api/v1/accounts/:id/transfer — Execute Bank Transfer
Eksekusi transfer bank setelah validasi rekening berhasil.
Transfer ini langsung mengurangi saldo DANA Anda dan tidak bisa dibatalkan. Pastikan bankAccountIndexNo dan amount sudah benar sebelum eksekusi.
Request Body
| Field | Type | Required | Keterangan |
|---|---|---|---|
action | string | Ya | Harus dana-bank-create |
bankAccountIndexNo | string | Ya | Index rekening dari hasil Validate Bank Account |
amount | string | Ya | Jumlah transfer (min. Rp 10.000) — harus sama dengan yang divalidasi |
Response 200
Errors
| Status | Keterangan |
|---|---|
400 | bankAccountIndexNo tidak ada atau sudah expired |
400 | Saldo tidak cukup |
400 | Jumlah minimum Rp 10.000 |
401 | API key tidak valid atau tidak ada |
500 | Transfer gagal |
Contoh
Alur Transfer Bank
Ambil daftar bank
Panggil List Banks untuk mendapatkan instId, instLocalName, payMethod, dan payOption bank tujuan.
Validasi rekening
Panggil Validate Bank Account dengan data bank dari step sebelumnya. Verifikasi accountName di respons sesuai penerima. Simpan bankAccountIndexNo.
Eksekusi transfer
Panggil Execute Bank Transfer dengan bankAccountIndexNo dan jumlah transfer. Transfer langsung diproses dan tidak bisa dibatalkan.
© 2026 PT. Cobra Code Indonesia. All rights reserved.
Last updated: 4/11/2026