Perubahan MDR QRIS 1 Oktober: Yang Wajib Diantisipasi Integrasi Pembayaran Anda

Perubahan MDR QRIS 1 Oktober: Yang Wajib Diantisipasi Integrasi Pembayaran Anda
Bank Indonesia mengumumkan pada 17 Agustus 2026 perluasan kebijakan Merchant Discount Rate (MDR) 0% untuk QRIS, berlaku efektif 1 Oktober 2026. Merchant mikro (UMI) tetap dapat tarif gratis yang sudah ada, sampai Rp500.000 per transaksi. Semua kategori merchant lain — kecil, menengah, besar, berlabel UKE, UME, UBE — berpindah dari MDR flat 0,7% menjadi 0% sampai Rp100.000.
Tarif lama berlaku hanya di atas batas itu. Siaran pers BI membahas kebijakannya; rincian Kompas membahas angka-angkanya.
Kebanyakan pemberitaan berhenti di "QRIS jadi lebih murah." Untuk bisnis yang menjalankan sistem POS, checkout e-commerce, atau integrasi payment gateway, itu kesimpulan yang keliru. Kesimpulan yang benar: perhitungan fee di sistem berubah pada tanggal pasti. Kalau logikanya salah, total settlement ikut salah sejak transaksi pertama setelah tengah malam 1 Oktober.
Yang sebenarnya berubah
Sebelum pembaruan ini, MDR QRIS untuk merchant non-mikro adalah flat 0,7% di setiap transaksi, tanpa memandang nominal. UMI sudah punya tarif 0% di bawah Rp500.000, dengan 0,3% di atasnya.
Yang berubah per 1 Oktober: UKE/UME/UBE — mayoritas bisnis kecil dan menengah dengan setup QRIS standar — mendapat logika ambang batas yang sama seperti UMI. Gratis di bawah Rp100.000, 0,7% di atasnya. Pengumuman ini disampaikan Destry Damayanti, Pjs. Gubernur BI, di sebuah acara di Jakarta yang sekaligus jadi ajang peluncuran skema kartu domestik Kartu Kredit Indonesia (KKI).
Bagi codebase, seremoni acaranya tidak penting. Yang penting: MDR tidak lagi lepas dari nominal transaksi, untuk kategori merchant mana pun. Dulu itu sudah berlaku bersyarat untuk UMI. Sekarang berlaku bersyarat untuk hampir semua orang.
Tabel fee yang harus dikodekan
Ini tabel yang harus dicocokkan dengan logika perhitungan fee yang berjalan:
| Kategori merchant | Ambang MDR 0% | Tarif di atas ambang |
|---|---|---|
| UMI (mikro) | Sampai Rp500.000 | 0,3% |
| UKE / UME / UBE (kecil / menengah / besar) | Sampai Rp100.000 — baru per 1 Okt | 0,7% |
| Pendidikan | Tidak termasuk perubahan ini | 0,6% |
| SPBU | Tidak termasuk perubahan ini | 0,4% |
| BLU, PSO, G2P, P2G, donasi | Selalu 0% | — |
Baris terakhir sama pentingnya dengan ambang batas baru: kategori-kategori itu sudah gratis sejak awal dan tetap gratis. Satu larangan yang tetap harus masuk ke logikanya: merchant dilarang membebankan biaya MDR ke konsumen. Menambahkan fee ke harga yang ditampilkan melanggar aturan — dulu maupun sekarang. Laporan Kompas memuat struktur bertingkat lengkap yang jadi dasar tabel ini.
Kenapa logika fee yang naif akan salah
Bayangkan logika fee seperti tarif parkir bertingkat: jam pertama gratis, jam berikutnya bayar, dan tarifnya beda lagi kalau mobilnya pelat merah. Kalau kasir cuma hafal satu angka tanpa tahu jenis kendaraannya, tagihannya pasti salah — persis itulah yang terjadi kalau integrasi menyimpan MDR sebagai satu konstanta.
Integrasi yang meng-hardcode "QRIS = 0,7%" di script settlement akan menghasilkan angka salah per 1 Oktober. Begitu juga integrasi yang menghitung MDR hanya dari nominal transaksi, tanpa tahu merchant itu masuk kategori BI yang mana.
Kedua cabang itu — kategori dan nominal — harus selesai diperiksa sebelum tarifnya ditentukan. Kalau pengecekan kategori terlewat, transaksi Rp80.000 dari retailer menengah tetap kena tarif lama 0,7%, padahal seharusnya gratis. Kalau pengecekan nominal yang terlewat, transaksi Rp300.000 dari merchant mikro dianggap sepenuhnya gratis, padahal 0,3% justru berlaku begitu nominalnya melewati Rp500.000.
Dua bug ini tidak memunculkan error apa pun. Keduanya diam-diam menghasilkan angka settlement yang tidak cocok dengan yang sebenarnya dibayarkan PSP.
Dampak ke rekonsiliasi dan laporan settlement
Di sinilah perubahan ini benar-benar terasa bagi tim finance. Bukan pada kebijakannya, tapi pada selisih antara angka yang dihitung sistem sendiri dan angka di file settlement. Begitu PJP (Penyedia Jasa Pembayaran) atau payment gateway memperbarui mesin fee mereka untuk 1 Oktober, nominal bersih yang disettle per transaksi ikut bergeser.
Perubahan ini mencakup sebagian besar volume QRIS yang diproses. Kalau logika rekonsiliasi internal tidak ikut bergeser, total harian tidak akan cocok lagi.
Itulah mode kegagalan yang perlu diantisipasi sekarang: bukan sistem down, melainkan selisih diam-diam antara dua angka yang biasanya sama. Notifikasi settlement lewat webhook memperparah ini kalau belum dideduplikasi dan direkonsiliasi dengan hati-hati — lihat webhook reliability patterns kalau bagian pipeline ini belum pernah diaudit.
Separuh masalah lainnya: callback settlement yang di-retry. Kalau status update terkirim dua kali untuk transaksi yang sama dan handler-nya tidak idempotent — tidak aman menerima perintah yang sama berulang — fee yang sudah dikoreksi bisa tercatat dua kali. Cara membuat retry ini aman dibahas di idempotency in payment APIs.
Tambahkan pengecekan varians ke job rekonsiliasi harian. Tandai setiap baris settlement yang MDR hitungannya tidak cocok dengan tabel fee di atas, untuk kategori dan nominal merchant itu. Kirim baris itu ke antrean review, jangan biarkan lolos tercatat begitu saja.
Sistem harus tahu kategori tiap merchant
Sebelum perubahan ini, sistem bisa saja memperlakukan "merchant QRIS" sebagai satu kategori dan menghitung fee dari nominal saja. Setelah 1 Oktober, asumsi itu tidak berlaku lagi. Dua merchant yang memproses transaksi identik Rp80.000 bisa punya kewajiban fee berbeda, karena yang satu terdaftar sebagai UMI dan yang lain sebagai UKE.
Sistem perlu tahu, untuk tiap merchant atau sub-merchant, terdaftar di kategori BI yang mana. Bukan menebak dari pola transaksi, bukan mengasumsikan dari besar-kecilnya bisnis di atas kertas. Menjalankan platform multi-tenant dengan sub-merchant di bawah satu akun aggregator? Tambahkan kategori BI sebagai field di data merchant, bersumber dari data yang tercatat di PSP, bukan tebakan.
Checklist sebelum tenggat: lima pertanyaan untuk payment gateway Anda
Baik memakai Midtrans, Xendit, atau PSP lain, dapatkan jawaban terdokumentasi sebelum 1 Oktober:
- Apa jadwal fee terbaru, dan kapan berlaku di sisi mereka? Dokumentasi Midtrans saat ini masih menyebut 0,7% flat untuk QRIS reguler — pastikan tanggal revisinya dan apakah sudah aktif di sandbox.
- Bagaimana pemetaan kategori merchant diekspos ke sistem yang dipakai? Lewat field API, label dashboard, atau tidak sama sekali — kalau tidak sama sekali, tanyakan langsung.
- Bisakah tarif baru diverifikasi di test mode sebelum cutover? Dry run di sandbox adalah satu-satunya cara menangkap bug logika fee sebelum menyentuh uang settlement sungguhan.
- Apakah format laporan settlement berubah? Kolom baru atau label kategori baru bisa merusak script rekonsiliasi yang mem-parsing berdasarkan posisi atau nama field tetap.
- Bagaimana timing rollout-nya — cutover keras tengah malam, atau bertahap? Dokumentasi Xendit saat ini mencantumkan settlement T+1; pastikan apakah timing itu ikut terdampak selama masa transisi.
Penutup
Ini bukan sekadar berita penurunan biaya merchant yang boleh dilewatkan. Ini tenggat yang menyerempet urusan kepatuhan: tanggalnya pasti, tabel fee-nya pasti, dan ada sistem yang menghitung berdasarkan keduanya.
Bisnis yang meminta konfirmasi tertulis dari PSP-nya sekarang, dan menguji tarif baru sebelum 1 Oktober, akan lebih siap. Mereka terhindar dari cerita yang berujung selisih rekonsiliasi atau sengketa merchant di minggu pertama bulan itu.
Artikel Terkait
Mau bangun hal serupa?
Jasa Pengembangan Backend IoT & Integrasi Multi-Protokol
Backend yang menyerap telemetri perangkat lintas MQTT, WebSocket, Modbus, dan BLE, lalu menyatukannya jadi dashboard real-time yang andal.
Lihat cara saya bisa bantu