KKI Masuk QRIS: Apa yang Harus Sistem Anda Urus

KKI Masuk QRIS: Apa yang Harus Sistem Anda Urus
Bank Indonesia dan ASPI meluncurkan Kartu Kredit Indonesia segmen ritel pada 17 Agustus 2026. Di tahap pertama, KKI berbentuk kartu digital yang jadi sumber dana pembayaran QRIS. Merchant tidak perlu QR baru, mesin baru, atau kontrak baru. Yang berubah ada di belakang: nominal makin besar, kode penerbit baru, dan alur refund yang wajib dipastikan.
Kalimat di atas sudah isi seluruh artikel ini. Sisanya detail.
Apa yang sebenarnya diluncurkan 17 Agustus?
KKI itu instrumen pembayaran kredit yang diproses lewat infrastruktur domestik, bukan jaringan kartu internasional. Bank Indonesia bersama Asosiasi Sistem Pembayaran Indonesia meluncurkannya pada 17 Agustus 2026 untuk masyarakat umum.
Tahap pertamanya sengaja dibikin sempit:
- Baru kartu digital. Kartu fisik dan pembayaran online menyusul di tahap berikutnya.
- Jalurnya QRIS. Berlaku di QRIS MPM, QRIS CPM, dan QRIS TAP.
- Delapan penerbit di awal. Tujuh first mover — BCA, Bank Mandiri, BNI, BRI, CIMB Niaga, Permata Bank, Bank Mega — ditambah BSI sebagai next mover. Penyelenggara lain menyusul bertahap.
- Limit Rp10 juta per transaksi, dengan biaya merchant 0%–0,7% dan bunga maksimum 1,75% per bulan atau 21% per tahun.
Skalanya yang bikin ini penting. Data Bank Indonesia per 17 Agustus 2026 mencatat QRIS dipakai 65,77 juta pengguna dan diterima 44,86 juta merchant, 96,68% di antaranya UMKM, dengan 12,55 miliar transaksi senilai Rp1,12 kuadriliun sepanjang semester I 2026 — tumbuh 93,92% year on year. Perubahan pada apa yang boleh mendanai QRIS otomatis menyentuh hampir semua integrasi pembayaran di Indonesia.
Pemegang KKI juga bisa bayar di luar negeri lewat QRIS Cross Border di negara mitra. Itu cerita orang Indonesia belanja ke luar, bukan skema baru untuk merchant di dalam negeri. Kalau Anda melayani tamu asing, perjanjian cross border Anda dengan acquirer yang berlaku — dan itu tidak berubah.
Kenapa sumber dana jadi urusan merchant?
Bayangkan gerbang tol. Palangnya satu, mesinnya satu, prosedurnya satu. Yang berbeda cuma isi kartu yang ditempel pengendara. QRIS dirancang persis begitu: cara pelanggan mendanai pembayaran dipisah dari cara merchant menerimanya.
Karena itu jawaban jujur atas "kami harus bangun apa?" adalah tidak ada. Payload QR-nya sama. Kontrak callback-nya sama. Hubungan dengan acquirer juga sama.
Yang tidak sama: sebaran transaksi yang masuk. Metode bayar yang dulu dibatasi isi dompet digital sekarang dibatasi plafon kredit.
Apa yang jebol saat nominal membesar?
Sistem yang dibangun di era QRIS receh menyimpan asumsi yang tidak pernah ditulis. Di situlah perubahan ini muncul.
Batas regulasinya Rp10.000.000 per transaksi sesuai PADG Nomor 3 Tahun 2025 tanggal 19 Februari 2025, dan KKI memakai angka per transaksi yang sama. Penerbit boleh memasang limit harian atau bulanan lebih ketat. Rp10 juta itu angka yang harus ditoleransi validasi Anda; batas yang lebih rendah urusan kebijakan risiko pihak lain, bukan konstanta di kode Anda.
Yang perlu dicari:
- Batas nominal di bawah Rp10 juta. Biasanya konstanta sisa launching dua tahun lalu. Penolakan keras di Rp2 juta sekarang menolak uang beneran.
- Masa berlaku QR terlalu pendek. Lima belas detik cukup untuk toko roti. Tidak cukup untuk belanja Rp6 juta, saat pelanggan membaca nominalnya dua kali sebelum scan.
- Aturan fraud dan velocity yang disetel untuk nominal kecil. Rule yang menandai apa pun di atas persentil 99 tahun lalu akan mulai menandai penjualan normal.
- Akal-akalan pecah tagihan. Sebagian sistem memecah tagihan besar jadi beberapa QRIS karena "QRIS kan untuk nominal kecil". Sekarang itu cuma memperbanyak settlement parsial yang harus direkonsiliasi.
- Asumsi float settlement. Rata-rata transaksi yang naik mengubah jarak arus kas antara penjualan dan pencairan. Hotel dan kontraktor merasakannya jauh lebih cepat daripada warung.
Tidak ada yang eksotis di daftar itu. Semuanya ketemu dalam satu sore dengan grep konstanta rupiah.
Kode penerbit baru bikin rekonsiliasi gagal?
Ini kegagalan yang paling saya yakini bakal kejadian. Daftar penerbitnya memang bertahap: tujuh first mover, lalu BSI, lalu penyelenggara lain. Kode yang memperlakukan identitas penerbit sebagai himpunan tertutup cepat atau lambat ketemu nilai yang belum pernah dilihatnya.
Pola yang harus dihindari:
// Rapuh: penerbit baru langsung jadi exception di produksi.
const ISSUERS = ["BCA", "MANDIRI", "BNI", "BRI"] as const;
if (!ISSUERS.includes(tx.issuer)) throw new Error("unknown issuer");
Aturannya sederhana. Identitas yang tidak Anda kenali tetap transaksi yang sah. Simpan string mentahnya, catat bahwa dia belum terpetakan, lalu lanjut. Berlaku sama untuk field sumber dana, karena nilai bermakna kredit itu baru di field yang dulu cuma berisi saldo atau debit.
// Toleran: nilai asing itu data, bukan error.
const known = ISSUER_LABELS[tx.issuer];
if (!known) logger.info({ issuer: tx.issuer }, "unmapped issuer code");
return { ...tx, issuerLabel: known ?? tx.issuer };
Kalau jalur pembayaran menolak nilai asing, lubang kecil di tabel lookup berubah jadi pendapatan yang hilang. Logikanya sama seperti idempotency key di API pembayaran: kode pembayaran harus jadi bagian paling pemaaf terhadap input yang tidak diantisipasi, dan paling galak terhadap pekerjaan yang dikerjakan dua kali.
Refund dan sengketa: siapa tanggung apa?
Di bagian ini saya menyodorkan pertanyaan, bukan jawaban. Detail operasionalnya memang beda-beda per acquirer.
Refund QRIS selama ini diinisiasi merchant dan diproses lewat acquirer. Kredit menambah satu pihak baru: pemegang kartu yang punya tagihan bulanan, bank penerbit, dan hubungan perlindungan konsumen yang tidak dimiliki saldo e-wallet. Jangan anggap keduanya berjalan identik.
Ajukan lima pertanyaan ini ke acquirer Anda secara tertulis, sebelum transaksi KKI besar pertama masuk:
- Berapa jendela waktu refund untuk transaksi QRIS berdana KKI, dan apakah berbeda dari transaksi berdana e-wallet?
- Apakah refund parsial didukung, dan apakah jadwal pencairannya sama?
- Siapa menanggung biaya merchant atas transaksi yang direfund?
- Kalau pemegang kartu menyengketakan tagihan ke penerbitnya, lewat jalur mana merchant diberi tahu dan bukti apa yang diminta?
- Field mana di file settlement yang menandai sumber dana, dan apakah field itu juga ada di callback real time?
Pertanyaan kelima yang menentukan apakah Anda bisa mengukur semuanya. Kalau sumber dana cuma muncul di file harian, dashboard Anda tidak bisa memisahkan volume KKI dari volume e-wallet. Rekonsiliasi jalan, tapi buta.
Hitungan MDR ikut berubah?
Logikanya tidak, angkanya iya. Biaya merchant alias MDR (Merchant Discount Rate — potongan yang dibayar merchant per transaksi) untuk QRIS berdana KKI ada di rentang 0%–0,7% yang sama, dan penjenjangan yang berlaku 1 Oktober 2026 menumpuk di atasnya: MDR 0% untuk transaksi sampai Rp100.000 di semua kategori merchant, dan sampai Rp500.000 untuk merchant usaha mikro.
Kalau sistem Anda sudah menghitung biaya sebagai fungsi kategori merchant dan nilai transaksi, KKI tidak menambah apa-apa. Kalau belum, pekerjaannya persis yang saya bahas di perubahan MDR Oktober — dan sekarang statusnya bukan lagi "akan datang", tapi "telat".
Satu aturan bertahan melewati semua perubahan tarif: simpan nominal bruto, biaya, dan nominal bersih sebagai tiga field terpisah, lalu rekonsiliasi pakai yang bersih. Sistem yang cuma menyimpan bruto lalu menghitung ulang biayanya selalu melenceng begitu tabel tarif bergeser.
Matriks uji yang bisa dijalankan minggu ini
Uji KKI dari ujung ke ujung memang butuh kartu KKI. Tapi semua yang ada di sisi Anda bisa diuji sekarang.
| Kasus | Input | Harapan |
|---|---|---|
| Batas bebas biaya | Rp99.999 / Rp100.000 / Rp100.001 | Jenjang tarif benar di ketiganya, tanpa celah pembulatan |
| Batas usaha mikro | Rp500.000 di merchant kategori UMi | Biaya 0, bersih sama dengan bruto |
| Plafon regulasi | Rp10.000.000 | Diterima |
| Di atas plafon | Rp10.000.001 | Ditolak dengan pesan jelas, bukan crash |
| Penerbit asing | Kode penerbit ZZZZ | Tercatat dan tersettle, dicatat sebagai belum terpetakan |
| Sumber dana asing | Tipe dana CREDIT | Tercatat dan tersettle |
| Jalur biaya bukan nol | Rp750.000 di merchant non-UMi | Bruto, biaya, bersih tersimpan terpisah |
| Refund nominal besar | Refund Rp6.000.000 | Perlakuan biaya sesuai jawaban tertulis acquirer |
Delapan kasus. Isinya kebanyakan konstanta nominal dan satu enum. Kerjanya satu sore — dijalankan sebelum volumenya datang, bukan saat tutup buku bulanan pertama yang tidak balance.
Yang sebenarnya diminta dari perubahan ini
Peluncuran sebesar ini menggoda untuk digarap sebagai proyek. Padahal bukan. Sisi penerimaan tidak bergeser, dan tidak ada merchant yang harus menandatangani apa pun.
Tapi metode bayar yang dulu dibatasi saldo sekarang dibatasi plafon kredit. Dan setiap asumsi "QRIS itu untuk nominal kecil" yang tertanam di kode Anda kini jadi bug yang menunggu pelanggan yang tepat. Cari konstantanya. Longgarkan enum-nya. Tanyakan soal refund ke acquirer, lalu simpan jawabannya.
Sistem yang paling babak belur nanti bukan sistem yang tidak mengerjakan apa-apa. Melainkan sistem yang pemiliknya yakin memang tidak ada yang perlu dikerjakan.
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