Metode pembayaran
Ringkasan
Semua metode, kodenya, bentuk yang dipakainya, dan apakah sudah aktif.
Sebuah metode dikenali dari kodenya — qris, va_bca, card. Itulah string yang Anda kirim dan yang Anda terima kembali. Semua metode yang aktif berjalan 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 nominal tetap rupiah, mis. {"percent_bps": 70, "flat": 250} untuk QRIS. Baca daftarnya, jangan tulis kode atau tarifnya permanen di kode Anda — sebuah 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. Yang dibutuhkan sebuah metode, dibutuhkan 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 dompet mengikat pembayaran ke sebuah nomor |
Pada Direct API tidak ada halaman yang bisa bertanya, jadi create yang menyebut metode dengan field wajib yang kosong ditolak 422 beserta nama fieldnya. Pada Checkout langkah customer yang mengumpulkan kekurangannya — jadi itu baru menjadi error kalau Anda juga menghilangkan langkah itu dari checkout.steps.
Memilih metode yang ditawarkan
Sebuah create menerima payment_methods — array berisi kode, yaitu metode yang boleh dipakai untuk pembayaran ini. Isian itu mempersempit pilihan pembeli; tidak pernah bisa melebihi apa yang sudah diaktifkan di akun Anda.
{
"amount": 150000,
"external_id": "ORD-1234",
"payment_methods": ["va_bca", "va_bri", "qris"]
}- Dikosongkan — semua metode yang aktif di akun Anda ditawarkan.
- Satu kode — metode itu saja, tanpa pemilih. Direct API langsung menerima objek
payment-nya. - Beberapa kode — pemilih berisi kode-kode itu, sesuai urutan yang Anda kirim.
Responsnya melaporkan hasilnya dalam bentuk tunggal: payment_method adalah 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 baca GET /v1/payment_methods daripada menulis daftarnya permanen di kode.