Payments
QRIS in Indonesia: the strongest case for one national QR standard
QRIS is Indonesia's single mandated payment QR standard. Since 1 January 2020, Bank Indonesia has required every payment QR in the country to be QRIS, so any licensed app (GoPay, OVO, DANA, ShopeePay or a bank app) can pay any QRIS code, and merchant fees are set nationally rather than negotiated.
The problem QRIS solved
By 2019, Indonesian counters were plastered with stickers: one QR per wallet (GoPay, OVO, DANA, LinkAja) each readable only by its own app. Merchants managed multiple acquiring relationships and reconciliations; customers needed the right app for the right sticker. This is the fragmentation trap every closed-loop QR market falls into, and the one China's duopoly still lives in.
Bank Indonesia's answer was blunt: QRIS (Quick Response Code Indonesian Standard, pronounced "kris"), developed with the Indonesian Payment System Association (ASPI), launched on 17 August 2019 (Independence Day, deliberately), and made mandatory from 1 January 2020. From that date, every payment QR presented in Indonesia must be a QRIS code. Wallet-specific payment codes became non-compliant overnight.
How it works
QRIS profiles the EMVCo merchant-presented
standard: tag-length-value payload, merchant
identifiers in the account templates (including a national merchant ID), currency IDR,
country ID, optional amount in field 54, CRC16 at the end. Decode a
QRIS sticker with /validate and the structure matches a
PIX or
DuitNow code: the differences live in the templates,
not the skeleton.
The interoperability is the point: any licensed payment app pays any QRIS code. A warung with one laminated code accepts customers from every wallet and bank in the country. The merchant chooses one acquirer; the customer chooses any app; the national switch routes between them.
Nationally set merchant pricing
QRIS pricing is a regulatory instrument, not a negotiation. The merchant discount rate (MDR) is set centrally by the regulator by merchant category, with reduced (at times zero) rates for micro-merchants, precisely to keep street vendors inside the formal system. The exact rates have been adjusted over the years (Bank Indonesia publishes current figures), but the structural fact is the interesting one: in Indonesia the cost of QR acceptance is policy, not market power. Compare card acquiring, where an individual merchant negotiates from no leverage at all.
Why this is the strongest one-standard case study
Other countries reached interoperability by different routes: Brazil built one system, India one deep-link format, Malaysia a framework obliging interoperation. Indonesia is the cleanest test of the mandate approach: a large, fragmented, wallet-first market where the regulator declared one code format and required every incumbent to adopt it. The visible result (one sticker per counter, national merchant-fee policy, wallet competition shifting from acceptance networks to product quality) is why QRIS features in the standards comparison as the reference unification story. Cross-border QRIS linkages within ASEAN (Malaysia, Thailand, Singapore) extend the same code to participating foreign apps, with the usual caveat: check your own app's participation before relying on it.
For merchants and travellers
Merchant onboarding runs through a licensed acquirer (bank or wallet company), which issues your QRIS code and states your MDR. Deployment is the universal drill: ≥ 4–5 cm at counter distance, intact quiet zone, name printed large to match the payer's confirmation screen, mounted where an overlay sticker would show.
Travellers: your home app pays QRIS codes only if it participates in a linkage; otherwise cash or cards. The codes themselves are safe to scan and inspect, scanning never moves money without your confirmation in a payment app.
FAQ
What does QRIS stand for?
Quick Response Code Indonesian Standard: the single payment QR format defined by Bank Indonesia and ASPI, launched 17 August 2019 and mandatory for all payment QR codes in Indonesia since 1 January 2020.
Can any app pay any QRIS code?
Yes: that is its purpose. Every licensed Indonesian payment app, bank or wallet, must be able to pay every QRIS merchant code, regardless of which acquirer issued the code.
Who sets QRIS merchant fees?
The regulator. The merchant discount rate is set nationally by merchant category, with reduced or zero rates for micro-merchants, rather than being negotiated between merchant and provider. Bank Indonesia publishes the current rates.
Is QRIS an EMVCo format?
Yes. QRIS is a national profile of the EMVCo merchant-presented QR specification (tag-length-value fields ending in a CRC16), with Indonesian scheme identifiers and a national merchant ID in the templates.
Try it: free, no signup
Related
- QR payment standards compared: UPI, PIX, EPC, EMVCo, UPI uses its own upi:// deep link; PIX, PromptPay, QRIS, DuitNow and PayNow are all EMVCo tag-length-value profiles; EPC uses a twelve-line text block.…
- EMVCo merchant-presented QR: the spec behind PIX, QRIS and PromptPay, The EMVCo MPM spec defines the TLV payload national payment QRs share: two-digit ids and lengths, templates 26-51 for scheme data, CRC16 in field 63.
- DuitNow QR in Malaysia: one code for every bank and wallet, DuitNow QR is Malaysia's national payment QR, operated by PayNet. One EMVCo-based code is payable from any participating Malaysian bank or e-wallet app.
- WeChat Pay and Alipay QR codes: how China's closed loops work, WeChat Pay and Alipay codes are proprietary app links, not open EMVCo payloads. How the duopoly's two scan modes work and what foreign visitors can do.