How does QRIS work for online payments?
Online, QRIS is a dynamic QR code. At checkout the shopper chooses QRIS and the merchant’s provider shows a QR code for the exact amount. The shopper opens a mobile banking or e-wallet app, scans the code, checks the amount and merchant name and confirms. Xendit says processing is instant once the shopper pays.
Dynamic codes suit e-commerce. Midtrans explains that a static QRIS code is the same for every payment and the shopper types the amount, while a dynamic code is created per order with a fixed amount and an order ID set by the merchant. Static QRIS is not available through Midtrans’s API, and only dynamic QRIS payments can be refunded.
The time to pay depends on the provider. Antom’s QRIS codes time out after 14 minutes and cannot be customised, while Xendit’s payment requests expire after 48 hours and the merchant can set its own expiry. Antom notes that the bank app does not send the shopper back to the merchant automatically, so the merchant should take the result from the provider’s notification rather than the return page. On mobile web, Antom notes that the shopper has to screenshot the QR code and open the payment app themselves.
Where and how do shoppers use QRIS?
QRIS is the national standard. Bank Indonesia launched it on 17 August 2019 and made it mandatory for all QR payments from 31 December 2019, so every licensed payment provider using QR codes has to use the standard. In the third quarter of 2026 Bank Indonesia counted 70.6 million QRIS users and 49.4 million merchants, with QRIS transactions up 75.80% on a year earlier.
Indonesian shoppers favour wallets. The Xendit and Cube Ecommerce Payments Momentum Report 2026 found that 70% of Indonesian shoppers use e-wallets for at least half of their online purchases, and that an unavailable payment method is the top reason for abandoning a purchase, cited by 51%. Because QRIS works across banks and e-wallets, one QR code reaches shoppers of every wallet.
It also crosses borders. QRIS links are live with Malaysia, Singapore, Thailand, Japan, South Korea and China, according to Bank Indonesia statements reported by RRI in May 2026. The South Korea link started on 1 April 2026. In the first quarter of 2026 foreign visitors made 2.79 million QRIS payments in Indonesia. Bank Indonesia has also launched QRIS TAP, which lets shoppers pay by tapping their phone on an NFC terminal in stores.
What rules and costs should merchants know?
Bank Indonesia sets the merchant fee. The merchant discount rate is 0.7% for small, medium and large merchants, 0.6% for education and 0.4% at fuel stations. Micro merchants pay nothing up to IDR 500,000 and 0.3% above that. Shoppers pay no fee to use QRIS. Each payment is capped at IDR 10,000,000, and issuers may set daily or monthly limits per user.
Only licensed providers may offer it. Bank Indonesia says only payment service providers it has licensed can offer QRIS, and providers and switching institutions need its approval to process QRIS payments. Cross-border merchants can still reach it: Antom accepts QRIS for merchant entities in Singapore, the US, the UK, the EEA, Hong Kong and Indonesia.
Refunds depend on the shopper’s app. Xendit supports full and partial refunds within 7 days, but GoPay allows full refunds only, and CIMB does not allow full refunds within 24 hours. Antom lists a 90-day refund period but notes that the BNI, BCA and BRI bank apps do not support refunds.
Disputes exist. Xendit says shoppers can generally dispute a QRIS payment within 90 days, and the merchant must provide evidence.
How would Omno handle QRIS?
- One checkout: QRIS would appear in the Omno hosted checkout next to cards, wallets, local methods and crypto, with a dynamic QR code for each order. Merchants with their own payment screens would use Direct Links on their own buttons.
- Routing rules: The merchant would set rules that send IDR payments to a connected provider that supports QRIS. Omno connects through those providers; it is not an acquirer and does not hold funds.
- Cascading: In the hosted checkout, if the chosen provider is unavailable or rejects the request before the QR code is shown, the payment would move to the next provider in the rule until one accepts.
- Status: The order would stay pending until the provider confirms the scan, and the final result would reach the merchant by webhook, not the return page.
What should merchants plan for?
Use dynamic codes. They fix the amount, carry the order ID and are the ones providers can refund.
Match order expiry to the provider. Antom warns that closing an order sooner than its 14-minute timeout can let shoppers pay for an order the merchant has already closed.
Plan refunds by issuer. Some bank apps cannot refund QRIS payments, so a bank transfer may be needed for returns.
Price in the MDR. Merchants above the micro category pay 0.7% per payment, plus whatever their provider charges.