Metode pembayaran
Ringkasan
Semua metode, kodenya, format payment-nya, dan apakah sudah aktif.
Setiap metode dikenali dari kodenya — qris, va_bca, card. String itulah yang Anda kirim dan yang Anda terima kembali. Semua metode yang aktif bisa dipakai lewat Direct API maupun Kasera Pay Checkout.
| Metode | Kode | payment.type | Status |
|---|---|---|---|
| QRIS | qris | qr | Aktif |
| BCA Virtual Account | va_bca | payment_code | Aktif |
| BRI Virtual Account | va_bri | payment_code | Aktif |
| BNI Virtual Account | va_bni | payment_code | Aktif |
| Mandiri Virtual Account | va_mandiri | payment_code | Aktif |
| Permata Virtual Account | va_permata | payment_code | Aktif |
| CIMB Niaga Virtual Account | va_cimb | payment_code | Aktif |
| Danamon Virtual Account | va_danamon | payment_code | Aktif |
| Maybank Virtual Account | va_maybank | payment_code | Aktif |
| Visa, Mastercard, JCB, Amex | card | redirect | Aktif |
| DANA | dana | redirect | Direncanakan |
| OVO | ovo | redirect | Direncanakan |
| ShopeePay | shopeepay | redirect | Direncanakan |
| i.saku | isaku | redirect | Direncanakan |
| Akulaku | akulaku | redirect | Nanti |
| Kredivo | kredivo | redirect | Nanti |
| Indodana | indodana | redirect | Nanti |
| Alfamart | alfamart | payment_code | Direncanakan |
| Indomaret | indomaret | payment_code | Direncanakan |
GET /v1/payment_methods mengembalikan daftar ini sesuai akun Anda, lengkap dengan rentang nominal, data pembeli yang dibutuhkan tiap metode, dan fee tiap metode — persen dalam basis poin plus biaya flat rupiah, mis. {"percent_bps": 70, "flat": 250} untuk QRIS. Ambil dari endpoint ini, jangan hard-code kode atau tarifnya — metode bisa diaktifkan, dihentikan, atau diubah tarifnya tanpa rilis di sisi Anda.
Data pembeli yang dibutuhkan tiap metode
Tidak ada data pembeli yang wajib saat create. Data yang dibutuhkan metode baru diperlukan saat pembayaran — jadi Anda yang mengirimnya di customer, atau halaman checkout yang menanyakannya ke pembeli.
| Metode | Membutuhkan | Alasan |
|---|---|---|
qris | — | QR tidak membawa identitas |
va_* | customer.name | Nama yang tampil di aplikasi bank pembeli |
card | customer.email | 3-D Secure dan struknya |
| E-wallet | customer.phone | Sebagian e-wallet mengikat pembayaran ke nomor HP |
Di Direct API tidak ada halaman yang bisa menanyakan data, jadi create dengan metode yang field wajibnya kosong ditolak 422 beserta nama field-nya. Di Checkout, langkah customer yang mengumpulkan data yang kurang — jadi baru jadi error kalau Anda juga membuang langkah itu dari checkout.steps.
Memilih metode yang ditawarkan
Create menerima payment_methods — array berisi kode metode yang boleh dipakai untuk pembayaran ini. Field ini mempersempit pilihan pembeli; tidak pernah bisa melebihi metode yang sudah aktif di akun Anda.
{
"amount": 150000,
"external_id": "ORD-1234",
"payment_methods": ["va_bca", "va_bri", "qris"]
}- Tidak dikirim — semua metode yang aktif di akun Anda ditawarkan.
- Satu kode — metode itu saja, tanpa pilihan metode. Direct API langsung menerima object
payment-nya. - Beberapa kode — pembeli memilih dari kode-kode itu, sesuai urutan yang Anda kirim.
Response-nya melaporkan hasilnya dalam bentuk tunggal: payment_method berisi satu kode, tidak pernah null — diisi saat create dengan kode pertama yang Anda tawarkan, lalu diperbarui ke kode yang benar-benar dipilih pembeli.
qris, delapan bank Virtual Account di atas, dan card sudah aktif; e-wallet dan paylater belum. Create yang menyebut kode yang tidak ada, atau yang dimatikan admin — Anda maupun Kasera — ditolak 422 payment_method_unavailable, jadi ambil dari GET /v1/payment_methods, jangan hard-code daftarnya.