Statis atau Dinamis? 9 Langkah Integrasi QRIS sampai Dana Cair
QRIS bukan lagi kanal pelengkap. Bank Indonesia mencatat 12,55 miliar transaksi QRIS sepanjang semester I 2026, sekitar dua kali lipat periode yang sama tahun sebelumnya, dan diterima di 44,86 juta merchant; 96,68 persen di antaranya UMKM. Pertanyaannya kini bukan apakah perlu menerima QRIS, melainkan bagaimana mengintegrasikannya tanpa mengacak-acak alur kasir dan pembukuan. Artikel ini membahas pilihan statis dan dinamis, arsitektur, langkah integrasi dari registrasi merchant sampai dana cair, plus keamanan, pengujian, dan checklist peluncuran. Sedikit soal isi payload dan standar EMVCo juga dibahas, supaya keputusan bisnis dan pekerjaan teknis tidak berjalan sendiri-sendiri.
Statis atau dinamis: sesuaikan dengan alur transaksi
Bank Indonesia membagi QRIS merchant presented mode (MPM) menjadi dua bentuk. MPM statis adalah satu kode permanen tanpa nominal, sehingga pelanggan memasukkan sendiri jumlah pembayarannya; modalnya nyaris nol dan cocok untuk usaha mikro. MPM dinamis membuat kode baru untuk setiap transaksi dengan nominal yang terkunci di dalamnya, bersifat sekali pakai, dan lebih pas untuk volume tinggi atau bisnis yang butuh jejak transaksi rapi. Ada pula consumer presented mode (CPM), ketika pelanggan menampilkan kode dari aplikasinya dan kasir yang memindai; BI mengarahkan model ini ke kebutuhan berkecepatan tinggi seperti transportasi, parkir, dan ritel modern.
Untuk warung, stiker statis sering cukup. Begitu muncul checkout e-commerce, invoice, atau kasir dengan ratusan transaksi sehari, dinamis lebih masuk akal: nominal tidak bisa salah ketik, satu kode mewakili satu pesanan, dan rekonsiliasi menjadi pekerjaan mesin. Batas transaksi QRIS sendiri Rp10 juta per transaksi.
Arsitektur: siapa berbicara dengan siapa
Alurnya sederhana: aplikasi atau POS mengirim permintaan ke penyedia pembayaran, penyedia membawanya ke jaringan QRIS, permintaan diteruskan lewat lembaga switching ke penerbit dana pelanggan, lalu dana berpindah ke rekening merchant melalui acquirer. Bank Indonesia menyebut pihak dalam pemrosesan QRIS mencakup PJP front end (penerbit dan acquirer), lembaga switching, lembaga standar, dan pengelola National Merchant Repository; PJP dan lembaga switching wajib memperoleh persetujuan BI.
Untuk tim produk ada dua jalur. Pertama, menumpang penyedia berlisensi yang juga berperan sebagai acquirer. Kedua, menjadi PJP atau mitra teknologi sendiri, yang berarti kerja sama dengan acquirer, sertifikasi endpoint mengikuti standar nasional open API, dan proses persetujuan jauh lebih panjang. Startup dan UMKM umumnya memakai jalur pertama. Satu hal yang sering disalahpahami: siapa pun bisa memindai QRIS dengan aplikasi apa pun, tetapi uang mengalir lewat jalur yang ditentukan NMID dan acquirer penerbit QR, bukan aplikasi pembayar. Pertanyaan soal rekening mana dan kapan dana masuk harus dijawab sejak onboarding.
Langkah integrasi end-to-end
Registrasi merchant dan NMID
Pendaftaran dilakukan lewat PJP berizin BI, bukan langsung ke Bank Indonesia: siapkan dokumen legal seperti KTP atau akta pendirian, NPWP, rekening pencairan, foto outlet, dan kategori usaha. Dari sini lahir National Merchant ID (NMID), identitas merchant yang tertanam di payload kode QR dan menjadi rujukan setiap transaksi. Kategori merchant (mikro, kecil, menengah, besar) juga ditetapkan di tahap ini dan langsung menentukan tarif MDR, jadi pastikan tim keuangan dan teknis sepakat sejak awal. Onboarding biasanya butuh beberapa hari kerja.
Sandbox dan lingkungan uji
Penyedia besar memisahkan kredensial uji dan produksi. Midtrans memakai api.sandbox.midtrans.com dan api.midtrans.com, sedangkan DOKU menyediakan api-sandbox.doku.com. Simulator di sandbox bisa menandai transaksi lunas sehingga alur webhook teruji tanpa uang nyata. Simpan kredensial di manajer rahasia, bukan di kode frontend, repositori, atau pesan tim.
Membuat transaksi dan menampilkan kode QR
Polanya konsisten: backend memanggil endpoint pembuatan transaksi dengan nomor referensi unik dan nominal, lalu respons memuat payload QR mentah dan sering kali URL gambar QR. Midtrans mengembalikan qr_string beserta action generate-qr-code, DOKU mengembalikan qrContent lewat endpoint SNAP qr-mpm-generate. Payload itu dirender menjadi gambar di sisi Anda atau ditampilkan lewat URL penyedia. Pada Midtrans, order ID QRIS statis ditentukan sistem (format QRIS-xxx) dan transaksinya terbentuk setelah pembayaran, sedangkan QRIS dinamis memakai order ID dari merchant dan transaksinya terbentuk sebelum dibayar. Atur masa berlaku QR sesuai konteks: DOKU memakai validityPeriod ISO 8601 dengan default 30 hari, dan untuk pembayaran tatap muka di kasir nilai yang jauh lebih pendek lebih aman.
Menangani webhook saat pembayaran masuk
Status bergerak dari pending ke settlement, dan bisa berakhir di expire, cancel, atau deny. Saat pembayaran masuk, penyedia mengirim notifikasi HTTP berikut tanda tangan, seperti signature_key Midtrans yang diverifikasi dari order ID, status code, nominal, dan server key. Balas 2xx secepat mungkin, proses bisnisnya asinkron. Jangan menjadikan webhook satu-satunya sumber kebenaran: sediakan endpoint cek status untuk fallback dan penyelarasan terjadwal, karena notifikasi bisa tertunda atau dikirim ulang.
Rekonsiliasi dan settlement
Dana umumnya cair H+1. BRI memakai cut off 23.30 WIB dengan pencairan keesokan hari pukul 06.30 sampai 10.00 WIB; Xendit menyebut settlement T+1 hari kerja. Cocokkan laporan settlement harian dengan basis data pesanan, termasuk transaction ID, nomor referensi, nominal, dan status. Siapkan prosedur refund dan sengketa: refund Xendit valid hingga 7 hari untuk sebagian besar penerbit, dan tidak semua penerbit mendukung refund sebagian.
Isi kode QR: sedikit TLV yang perlu dipahami
QRIS mengikuti spesifikasi EMVCo merchant presented mode, fondasi yang sama dengan PromptPay dan DuitNow. Payload-nya teks ASCII berisi rangkaian tag, panjang, nilai (TLV): tag 00 menandai format payload, tag 01 metode inisiasi (11 statis, 12 dinamis), tag 26 sampai 51 template akun merchant tempat identitas akuirer dan template nasional QRIS bersarang, tag 52 kategori usaha, tag 53 mata uang (360 untuk rupiah), tag 54 nominal, tag 58 negara, tag 59 nama merchant, tag 60 kota, dan tag 63 checksum CRC16.
Pada QR dinamis, nominal benar-benar terkunci di dalam payload sehingga pelanggan tidak bisa mengubahnya, dan checksum menjaga integritas isi. Tetap perlakukan payload sebagai keluaran API, bukan dokumen yang diedit tangan: kode yang sah harus memuat NMID dan terhubung ke jaringan QRIS lewat penyedia berlisensi.
Keamanan dan pengujian yang mahal kalau dilewatkan
Setel masa berlaku kode QR, jangan dibiarkan menggantung berhari-hari; QR kedaluwarsa harus bisa dibuat ulang dari antarmuka kasir, dan kode yang tak terpakai sebaiknya dinonaktifkan agar tidak memicu sengketa tagihan ganda. Pastikan nomor pesanan unik, kunci pemrosesan per transaction ID, dan anggap webhook selalu bisa datang lebih dari sekali. Uji skenario gagal yang paling sering muncul: QR kedaluwarsa, saldo kurang, koneksi putus di tengah otorisasi, dan pembayaran sukses tetapi notifikasi telat.
Risiko fraud yang nyata bukan pencurian data, melainkan manipulasi kode fisik: QR ditempel ulang, QR palsu yang mengarah ke rekening lain, hingga penggantian oleh orang dalam. Bank Indonesia menekankan pentingnya mencocokkan nama merchant dengan lokasi transaksi serta memeriksa notifikasi setelah pembayaran. Aturannya sederhana: pastikan notifikasi diterima sebelum barang diserahkan.
Biaya MDR dan memilih partner integrasi
MDR ditanggung merchant, tidak boleh dibebankan ke konsumen, dan Bank Indonesia tidak mengambil bagian darinya; dana dibagi ke penerbit, acquirer, lembaga switching, ASPI, dan PTEN. Sejak 1 Oktober 2026: merchant usaha mikro 0 persen untuk transaksi sampai Rp500 ribu dan 0,3 persen di atasnya; usaha kecil, menengah, dan besar 0 persen sampai Rp100 ribu dan 0,7 persen di atasnya; pendidikan 0,6 persen; SPBU 0,4 persen; layanan publik, bantuan sosial, pajak, paspor, dan donasi nirlaba 0 persen. Jika tiket rata-rata Anda di bawah Rp100 ribu, biaya MDR nyaris hilang dari perhitungan; jika tiketnya besar, 0,7 persen tetap masuk proyeksi margin. Ingat juga arus kas: pencairan H+1 berarti uang hari ini baru bisa dipakai besok.
Saat memilih partner, timbang empat hal: lisensi dan peran penyedia (berizin BI, berperan sebagai acquirer atau tidak); kecocokan teknis (dokumentasi, sandbox, webhook dan cek status, SDK); komersial (MDR, biaya setup atau sewa perangkat, jadwal pencairan, minimum volume); serta dukungan (kecepatan respons dan, untuk platform dengan banyak penjual, kemampuan sub-merchant dengan pencairan terpisah). Uji lewat sandbox dengan tiga skenario: pembayaran sukses, kode kedaluwarsa, dan refund. Untuk UMKM satu lokasi, laporan harian yang mudah dibaca dan jadwal pencairan yang pasti sering lebih menentukan daripada panjangnya daftar fitur.
Checklist peluncuran
- Kategori merchant dan tarif MDR dikonfirmasi tertulis bersama PJP.
- Kredensial produksi di manajer rahasia, terpisah dari sandbox, dengan rotasi berkala.
- Alur pesanan diuji utuh: buat transaksi, tampilkan QR, terima webhook, terbitkan kuitansi, potong stok.
- Webhook memverifikasi tanda tangan, idempoten, punya mekanisme ulang, dan fallback cek status.
- Masa berlaku QR dan tombol buat ulang tersedia di antarmuka kasir.
- Laporan settlement harian dicocokkan otomatis dengan basis data pesanan.
- Prosedur refund, komplain, dan sengketa tertulis, termasuk siapa yang menghubungi pelanggan.
- Uji beban jam sibuk dan uji kegagalan: webhook dimatikan, notifikasi ganda, transaksi kedaluwarsa.
- Kasir dilatih memeriksa nama merchant, nominal, dan notifikasi sebelum pembeli meninggalkan gerai.
QRIS tumbuh dua kali lipat karena menyelesaikan masalah nyata di kasir. Integrasi yang baik bukan yang paling canggih, melainkan yang tahan menghadapi transaksi gagal, notifikasi ganda, dan laporan yang harus cocok setiap pagi. Mulai dari sandbox, uji skenario terburuk, baru naik ke produksi.
Sumber
- Bank Indonesia: Quick Response Code Indonesian Standard (QRIS)
- Bank Indonesia: MDR QRIS Bagi Merchant, Kategorisasi dan Simulasi
- Bank Indonesia: Siaran Pers Kartu Kredit Indonesia dan Kebijakan MDR 0% (17 Agustus 2026)
- Bank Indonesia: PADG Nomor 3 Tahun 2025 tentang Implementasi QRIS
- ANTARA: BI mencatat transaksi QRIS capai 12,55 miliar pada semester I 2026
- Midtrans: GoPay QRIS POS Integration
- DOKU: QRIS API Reference (SNAP)
- Xendit: QRIS Documentation
- EMVCo: EMV QR Codes
- BRIAPI: QRIS Merchant Presented Mode
Coba Vokara
Ubah rekaman rapat menjadi transkrip dan notulen rapi dalam hitungan menit.


