Panduan · 2 September 2026
QRIS atau Virtual Account: memilih channel pembayaran menurut nominal dan jenis penjualan
Jawaban singkatnya ada pada bentuk tarifnya, bukan besarnya. QRIS ditagih sebagai persentase ditambah nominal tetap, yaitu MDR 0,7 persen ditambah biaya Kasera Rp 250 per transaksi berhasil. Virtual Account ditagih Rp 5.000 tetap, tanpa komponen persen sama sekali. Dua bentuk itu berpotongan tepat satu kali, di sekitar Rp 678.600. Di bawah nominal itu QRIS lebih murah, di atasnya Virtual Account lebih murah, dan selisihnya melebar tanpa batas seiring naiknya nominal.
Tarif tetap pertimbangan kedua. Yang membatalkan hitungan di atas adalah alat yang dipakai pembayar, data pembeli yang harus ikut dikumpulkan, jeda antara tagihan dibuat dan dibayar, dan siapa yang menanggung biayanya.
Bentuk tarifnya, dan titik impasnya
Tarif default tiap metode diterbitkan pada respons GET /v1/payment_methods dalam dua komponen: percent_bps, yaitu persentase dari nominal dalam basis poin, dan flat, yaitu rupiah utuh yang ditambahkan. QRIS memakai { percent_bps: 70, flat: 250 }. Setiap kode Virtual Account memakai { percent_bps: 0, flat: 5000 }. Kartu, yang dibahas terpisah di bawah, memakai { percent_bps: 280, flat: 2500 }.
Titik impas antara QRIS dan Virtual Account adalah nominal ketika 0,7 persen darinya sama dengan selisih kedua komponen tetap, yaitu Rp 5.000 dikurangi Rp 250. Selisih itu Rp 4.750, dan 0,7 persen mencapai Rp 4.750 pada nominal Rp 678.571. Dibulatkan ke angka yang mudah diingat: sekitar Rp 678.600.
| Nominal pembayaran | Biaya QRIS | Biaya Virtual Account | Lebih murah |
|---|---|---|---|
| Rp 25.000 | Rp 425 | Rp 5.000 | QRIS, selisih Rp 4.575 |
| Rp 100.000 | Rp 950 | Rp 5.000 | QRIS, selisih Rp 4.050 |
| Rp 300.000 | Rp 2.350 | Rp 5.000 | QRIS, selisih Rp 2.650 |
| Rp 678.600 | Rp 5.000 | Rp 5.000 | Impas |
| Rp 1.500.000 | Rp 10.750 | Rp 5.000 | Virtual Account, selisih Rp 5.750 |
| Rp 5.000.000 | Rp 35.250 | Rp 5.000 | Virtual Account, selisih Rp 30.250 |
| Rp 10.000.000 | Rp 70.250 | Rp 5.000 | Virtual Account, selisih Rp 65.250 |
Angka pada tabel memakai tarif default per 2 September 2026 dan bersifat ilustratif. Tarif sebuah akun bisa berbeda bila sudah dinegosiasikan, dan itulah alasan GET /v1/payment_methods mengembalikan tarif per metode: hitungan sebaiknya memakai angka yang benar-benar berlaku, bukan angka yang disalin dari artikel. Daftar metode yang aktif hari ini ada di dokumentasi metode pembayaran.
Baris terakhir menunjukkan kenapa satu keputusan channel pada penjualan bernilai besar lebih berpengaruh daripada berhemat pada ratusan penjualan kecil. Satu transaksi Rp 10.000.000 yang diarahkan ke Virtual Account menghemat Rp 65.250, dan penghematan itu setara dengan biaya lebih dari seratus penjualan bernominal Rp 25.000 lewat QRIS.
Apa yang berubah pada 1 Oktober 2026
Bank Indonesia memperluas MDR QRIS 0 persen mulai 1 Oktober 2026. Untuk merchant kategori usaha kecil, menengah, dan besar, MDR menjadi 0 persen untuk transaksi sampai Rp 100.000, sementara usaha mikro tetap 0 persen sampai Rp 500.000. Di atas ambang itu tarifnya tidak berubah, yaitu 0,7 persen untuk kategori kecil sampai besar. MDR diteruskan apa adanya tanpa markup, jadi perubahan itu turun langsung ke biaya per transaksi.
Efeknya hanya terasa di ujung bawah tabel, dan di sana efeknya besar. Pembayaran QRIS Rp 25.000 turun dari Rp 425 menjadi Rp 250, dan pembayaran Rp 100.000 turun dari Rp 950 menjadi Rp 250. Titik impas melawan Virtual Account tidak bergeser sama sekali, karena titik itu berada jauh di atas ambang Rp 100.000 dan komponen 0,7 persen di sana tetap berlaku. Rincian per kategori merchant dan biaya lain yang menumpang di atas MDR dibahas di artikel biaya QRIS 2026.
Empat hal yang menentukan sebelum tarif dilihat
Hitungan di atas hanya berlaku bila kedua channel sama-sama bisa dipakai pembayar. Sering kali tidak, dan alasannya bukan soal uang.
Pertama, alat yang dipakai pembayar. QRIS dibayar dengan memindai kode dari aplikasi bank atau e-wallet, sehingga menuntut ponsel yang sedang memegang layar lain selain layar pembayaran. Pembeli yang membuka checkout dari ponsel yang sama harus menyimpan gambar QR lalu mengunggahnya di aplikasi bank, dan sebagian pembeli berhenti di langkah itu. Virtual Account tidak punya masalah tersebut: yang diberikan adalah nomor rekening tujuan yang bisa disalin, diketik di internet banking di komputer, atau bahkan dibawa ke ATM. Untuk penjualan yang pembelinya duduk di depan komputer, Virtual Account hampir selalu menyelesaikan lebih banyak pembayaran.
Kedua, data pembeli yang wajib ikut. QRIS tidak membutuhkan apa pun tentang pembeli karena sebuah kode QR tidak membawa identitas. Virtual Account membutuhkan customer.name, karena nama itulah yang muncul di aplikasi bank pembayar. Pada halaman checkout Kasera Pay, kekurangannya ditanyakan sendiri oleh langkah customer, jadi ini menambah satu isian pada layar pembeli. Pada Direct API tidak ada halaman yang bisa bertanya, sehingga create yang menyebut kode Virtual Account tanpa nama ditolak 422 beserta nama field-nya.
Ketiga, jeda antara membuat tagihan dan membayar. QRIS dipindai saat itu juga; sebuah kode QR yang ditinggalkan lalu dibuka lagi berjam-jam kemudian sering sudah lewat masa berlakunya. Nomor Virtual Account lebih tahan ditunda karena berbentuk teks yang bisa disimpan di catatan atau diteruskan ke bagian keuangan yang membayar besok pagi. Untuk tagihan yang harus melewati proses persetujuan di sisi pembayar, sifat itu lebih penting daripada selisih tarif, dan masa berlaku tagihan sebaiknya disetel mengikuti tempo persetujuan tersebut, bukan mengikuti kebiasaan penjualan eceran.
Keempat, siapa yang menanggung biayanya. Biaya bisa dipotong dari hasil penjual, atau ditambahkan pada jumlah yang dilihat pembayar. Pada QRIS pilihan itu jarang terasa: menambahkan Rp 425 pada pesanan Rp 25.000 hampir tidak terlihat. Pada Virtual Account, biaya tetap Rp 5.000 yang dibebankan ke pembayar berarti pesanan Rp 25.000 tampil menjadi Rp 30.000 di layar pembeli, yaitu kenaikan 20 persen yang terbaca sebagai biaya tersembunyi. Aturannya sederhana: bila biaya dibebankan ke pembayar, channel bertarif tetap hanya masuk akal pada nominal besar.
Rekomendasi per jenis penjualan
| Jenis penjualan | Nominal khas | Channel yang ditawarkan |
|---|---|---|
| Jualan lewat chat, pre-order, makanan | Rp 25.000 sampai Rp 150.000 | QRIS saja |
| Iuran komunitas, kas kelas, tiket acara | Rp 25.000 sampai Rp 250.000 | QRIS saja |
| Toko online fesyen dan kebutuhan rumah | Rp 150.000 sampai Rp 700.000 | QRIS lebih dulu, Virtual Account sebagai pilihan kedua |
| Elektronik, furnitur, paket wisata | Rp 1.000.000 ke atas | Virtual Account lebih dulu, QRIS sebagai pilihan kedua |
| Termin proyek, invoice ke perusahaan | Rp 2.000.000 ke atas | Virtual Account saja |
| Produk digital dengan pembeli di depan komputer | Berapa pun | Virtual Account dan kartu, QRIS tetap ditawarkan |
Kolom terakhir menyebut “lebih dulu” karena urutan kode yang dikirim adalah urutan yang dilihat pembeli. Untuk toko dengan rentang harga lebar, aturan yang paling mudah dijalankan adalah memilih channel dari nominal pesanan itu sendiri: di bawah titik impas kirim qris saja, di atasnya kirim kode Virtual Account lebih dulu.
Di mana kartu masuk
Kartu kredit dan debit sudah aktif dengan satu kode card. Tarifnya 2,8 persen ditambah Rp 2.500, sehingga kedua komponennya lebih besar daripada QRIS dan kartu tidak pernah lebih murah daripada QRIS pada nominal berapa pun. Melawan Virtual Account, kartu lebih murah di bawah sekitar Rp 89.000 dan lebih mahal di atasnya. Alasan menyalakan kartu karena itu bukan tarif, melainkan pembeli yang memang membayar dengan kartu, termasuk kartu terbitan luar negeri. Pertimbangan lengkapnya, termasuk chargeback dan refund yang hanya ada pada kartu, dibahas di artikel menerima pembayaran kartu.
Cara mengatur pilihannya
Ada dua lapis, dan keduanya perlu dipahami agar hasilnya tidak mengejutkan. Lapis pertama adalah akun: halaman Pengaturan menyalakan dan mematikan metode untuk seluruh akun, dan akun yang belum pernah menyentuh pengaturan itu menawarkan semua metode yang tersedia. Lapis kedua adalah per pembayaran, dan lapis ini hanya bisa mempersempit, tidak pernah bisa melebihi apa yang aktif di akun.
Tanpa integrasi, pilihannya ada pada formulir pembuatan pembayaran di dashboard: ada pemilih metode pembayaran di sana, dan biaya untuk metode yang sedang dipilih ikut ditampilkan sebelum permintaan dibuat, sehingga hitungan tabel di atas tidak perlu dilakukan manual. Memilih Virtual Account juga mengisi nama pembeli dari data akun, karena nomor rekening tidak bisa terbit tanpa nama.
Dengan integrasi, pilihannya ada pada field payment_methods saat membuat permintaan. Isinya array berisi kode:
{
"amount": 1500000,
"external_id": "ORD-1042",
"payment_methods": ["va_bca", "va_bri", "qris"],
"customer": { "name": "Sari Wulandari" }
}Satu kode berarti pembeli langsung dibawa ke layar metode itu tanpa pemilih. Beberapa kode berarti pemilih berisi kode-kode tersebut, dalam urutan yang dikirim. Dikosongkan berarti semua metode yang aktif di akun ditawarkan. Kode yang tidak ada, atau yang dimatikan, ditolak 422 payment_method_unavailable, jadi daftar kode sebaiknya dibaca dari GET /v1/payment_methods dan tidak ditulis permanen di kode. Urutan langkah integrasinya dari awal ada di panduan integrasi QRIS di website.
Kesalahan yang paling sering
Menawarkan semua metode pada setiap pembayaran. Pemilih berisi QRIS, delapan bank Virtual Account, dan kartu adalah sebelas baris, dan pembeli yang harus memilih di antara sebelas baris memutuskan lebih lambat daripada pembeli yang diberi satu layar pembayaran. Daftar bank yang panjang juga membuat pembeli mencari banknya sendiri, padahal nomor Virtual Account dari bank mana pun bisa ditransfer dari bank mana pun. Dua atau tiga pilihan sudah cukup untuk hampir semua toko.
Kesalahan kedua adalah mengira Virtual Account sama dengan transfer biasa ke rekening toko. Keduanya terlihat sama di aplikasi bank pembayar dan berbeda total di sisi penjual, dan perbedaannya dibahas di artikel Virtual Account dan transfer biasa.
Pertanyaan yang sering muncul
Mana yang lebih murah, QRIS atau Virtual Account?
Tergantung nominalnya. QRIS ditagih MDR 0,7 persen ditambah Rp 250, jadi biayanya tumbuh mengikuti nominal; Virtual Account ditagih Rp 5.000 tetap tanpa komponen persen. Keduanya bertemu di sekitar Rp 678.600: di bawahnya QRIS lebih murah, di atasnya Virtual Account, dan selisihnya terus melebar.
Apakah harus memilih salah satu, atau boleh menawarkan keduanya?
Boleh keduanya. Sebuah permintaan pembayaran menerima daftar metode yang boleh dipakai untuk pembayaran itu: satu kode berarti langsung ke layar metode tersebut tanpa pemilih, beberapa kode berarti pemilih berisi kode-kode itu sesuai urutan yang dikirim, dan dikosongkan berarti semua metode yang aktif di akun ditawarkan. Yang perlu dihindari adalah menawarkan semuanya pada setiap pembayaran, karena pemilih berisi sebelas baris memindahkan keputusan yang bukan milik pembeli ke layar pembeli.
Kenapa Virtual Account meminta nama pembeli sedangkan QRIS tidak?
Karena nama itu yang tampil di aplikasi bank pembayar, dan tanpa nama nomor Virtual Account tidak bisa diterbitkan. QRIS tidak membutuhkan apa pun tentang pembeli karena sebuah kode QR tidak membawa identitas. Pada Direct API, create yang menyebut kode Virtual Account tanpa customer.name ditolak 422 dengan nama field-nya. Pada halaman checkout Kasera Pay, langkah customer yang menanyakannya ke pembeli.
Apakah batas nominal QRIS dan Virtual Account berbeda?
Tidak. Keduanya memakai batas yang sama, yaitu minimum Rp 10.000 dan maksimum Rp 10.000.000 per pembayaran, dengan batas akun 100 permintaan dan total Rp 50.000.000 per hari dalam zona waktu Asia/Jakarta. Karena identik, batas nominal bukan alasan untuk memilih salah satu, dan penjualan di atas Rp 10.000.000 tetap harus dipecah apa pun channel-nya.
Apa yang berubah pada 1 Oktober 2026?
MDR QRIS 0 persen diperluas menjadi berlaku sampai Rp 100.000 untuk merchant kategori usaha kecil, menengah, dan besar, sementara usaha mikro tetap 0 persen sampai Rp 500.000. Di atas ambang itu tarifnya tidak berubah, yaitu 0,7 persen. Pembayaran QRIS bernominal kecil karena itu menjadi jauh lebih murah, sedangkan titik impas melawan Virtual Account tidak bergeser sama sekali.