QRIS

QRIS (Quick Response Code Indonesian Standard) is Bank Indonesia's national QR code. One code can be paid from any QRIS-enabled banking or e-wallet app, such as GoPay, OVO, DANA or ShopeePay, up to IDR 10 million a payment. Bank Indonesia counted 70.6 million QRIS users and 49.4 million merchants in the third quarter of 2026. With Omno, a merchant would offer QRIS in the hosted checkout through a connected provider that supports it.

Updated

Type
Instant payment
Countries
Indonesia
Currencies
IDR
Pay-in
Yes
Pay-out
No
Refunds
Partial
Chargeback exposure
Low
Settlement
Paid from the shopper's bank account or e-wallet in IDR; Xendit settles QRIS at T+1 business day and Midtrans makes funds withdrawable within 2 working days
Authorisation speed
Seconds once the shopper scans and confirms in their banking or e-wallet app; a dynamic QR code times out after 14 minutes at Antom and 48 hours at Xendit
QRIS users, third quarter of 2026
70.6 million

How paying with QRIS feels to the shopper

  1. Picks QRIS

    Checkout shows a QR code or a payment reference

    Timing: At checkout

  2. Approves in the bank app

    No card number, no 3-D Secure

    Timing: In the bank app

  3. Confirmed

    The provider notifies you by webhook

    Timing: Seconds

  4. Settled

    In IDR, bank to bank

    Timing: Per agreement

If it fails:

  • code or reference expires
  • abandoned in the bank app
  • payer details mismatch
  • provider timeout

Example flow. Timings vary by provider.

On this page5 sections

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.

Questions about QRIS

How does a shopper pay with QRIS online?

The shopper chooses QRIS at checkout and the page shows a QR code for the order. They scan it with any QRIS-enabled banking or e-wallet app, such as GoPay, OVO, DANA or ShopeePay, check the amount and confirm.

What does QRIS cost merchants?

Bank Indonesia sets the merchant discount rate: 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.

What is the maximum QRIS payment?

IDR 10,000,000 per payment, under Bank Indonesia's rules. The shopper's bank or e-wallet may also set daily or monthly limits.

Can QRIS payments be refunded?

Often, but not always. Xendit supports full and partial refunds within 7 days, with GoPay allowing full refunds only. Antom notes that the BNI, BCA and BRI bank apps do not support refunds, and Midtrans refunds only dynamic QRIS payments.

How would Omno handle QRIS payments?

QRIS would appear in the Omno hosted checkout as a dynamic QR code, and the merchant's routing rules would send each payment to a connected provider that supports it. If that provider is unavailable or rejects the request, the payment would move to the next provider in the rule until one accepts. The final status would arrive by webhook.

it will.

Tell us where your payments fail. We will show you how routing changes the outcome.

esc
↑↓ to move ↵ to open All results