---
title: 'QRIS for Business: How It Works and How to Accept It'
description: 'How a QRIS merchant in Indonesia gets paid: the payment flow, MDR fees, limits, refunds and settlement, plus a six-step checklist to go live.'
url: 'https://www.unlimit.com/blog/payments/qris-for-business/'
image: 'https://cdn.unlimit.com/wp-content/uploads/2026/10/29165527/qris-merchant-thumbnail.webp'
language: en
published: '2026-10-29T16:59:56+00:00'
modified: '2026-10-30T14:55:53+00:00'
categories:
  - Payments
---

> The index of this site for AI agents is at https://www.unlimit.com/llms.txt

# QRIS for Business: How It Works, How to Accept It and What to Expect

A QRIS merchant in Indonesia registers with a payment service provider licensed by Bank Indonesia, may pay a provider’s merchant discount rate, and can go live in six steps, verified October 2026.

## Key takeaways

- QRIS is Indonesia’s national QR code standard, set by Bank Indonesia, and the app of any payment service provider can pay at any business that accepts QRIS.
- QRIS runs at national scale: 44.9 million merchants accepted it in June 2026, and the first half of 2026 brought 12.6 billion transactions.
- A QRIS payment and its settlement are two events: a PSP such as BCA notifies the merchant in real time, while settlement follows the provider’s own cycle: Xendit, for example, settles in T plus 1 business days.
- QRIS costs sit with the business: Bank Indonesia sets the merchant discount rate (MDR) at 0% up to IDR 100,000 and 0.7% above for small, medium and large businesses, the provider charges it to the merchant, and the merchant may not pass it on to the customer.
- QRIS refunds and disputes follow the provider’s rules; Xendit limits QRIS refunds to a published list of issuers and gives merchants 90 days to provide proof in a dispute.
- To start with QRIS, a business chooses a payment service provider licensed by Bank Indonesia, goes through its onboarding and receives a Merchant ID and QRIS code.

## What is QRIS?

QRIS (Quick Response Code Indonesian Standard) is Indonesia’s national QR code standard, set by [Bank Indonesia](https://www.bi.go.id/id/fungsi-utama/sistem-pembayaran/ritel/kanal-layanan/qris/default.aspx), that lets a QRIS merchant receive payments from the app of any bank or e-wallet through one QR code. The payment system industry developed it together with the central bank. QRIS was launched on 17 August 2019 and became mandatory from 31 December 2019, and its payments are in Indonesian rupiah (IDR).

Two parties meet in every payment: the customer’s app and the merchant’s provider. Payment apps of any provider can pay at any business that accepts QRIS, so the customer chooses the app while the business picks the provider that issues its merchant QRIS code.

Names such as “QRIS Merchant BCA” or “QRIS GoPay merchant” are provider products on the same standard, not different methods: what QRIS is stays the same, whichever brand issues the code. Unlimit carries QRIS as its own method, on the payment page or through the gateway, via partners licensed by Bank Indonesia ([Card methods integration guide](https://integration.unlimit.com/doc-guides/ci8k5zm86k3ny-card-methods)). Unlimit processes QRIS payments in IDR.

In Q3 2025, an average QRIS merchant took about 35 payments worth about IDR 3.1 million a month ([Databoks](https://databoks.katadata.co.id/en/finance/statistics/6944c027919cc/the-number-of-qris-users-increased-in-q3-2025)).

Start accepting payments in Indonesia and globally with one integration

[Talk to sales](https://www.unlimit.com/contacts/)

## QRIS at a glance

QRIS parameters for businesses, verified October 2026.

| Attribute | QRIS |
|---|---|
| Market | Indonesia; cross-border QRIS has been used in Thailand, Malaysia, Singapore, Japan, South Korea and China |
| Method type | National QR code payment standard: one QR code takes payments from various banks and digital wallets |
| Operator | Bank Indonesia sets the standard, developed with the payment system industry |
| Currency | Indonesian rupiah (IDR) |
| Customer needs | The payment app of any payment service provider (PSP) |
| Amount limits | Up to IDR 10 million per transaction (Bank Indonesia limit since 1 March 2022); BCA and Xendit state the same maximum |
| Confirmation to the merchant | Varies by provider: real-time notification at BCA; instant processing at Xendit; real-time callbacks via Unlimit |
| Merchant settlement | Varies by provider: T+1 business days at Xendit; one transfer a day at InterActive QRIS |
| Integration modes | Varies by provider: static and dynamic QRIS codes and a QR code image URL from the Charge API at Midtrans; payment links at Xendit; Unlimit’s payment page or gateway |
| Refunds | Varies by provider: not available for static QRIS and available for dynamic QRIS at Midtrans; limited to a published list of issuers at Xendit; supported by Unlimit |
| Disputes and chargebacks | Not published by Bank Indonesia; at Xendit a customer can generally start a dispute within 90 days of the transaction |
| Failed or unconfirmed payments | Not published by Bank Indonesia |
| Recurring payments | Not published by Bank Indonesia; not available for alternative methods at Unlimit |
| Merchant fees | Bank Indonesia MDR from 1 October 2026: micro businesses 0% up to IDR 500,000 and 0.3% above; small, medium and large businesses 0% up to IDR 100,000 and 0.7% above; education 0.6% and petrol stations 0.4% above IDR 100,000; the PSP charges it to the merchant; providers add their own fees (InterActive QRIS: IDR 2,900 SKN fee per settlement to other banks); Unlimit fees quoted per business |
| How a business gets access | Through a PSP licensed by Bank Indonesia; Unlimit works through partners licensed by Bank Indonesia |

*Sources:* [*Bank Indonesia, QRIS Antarnegara*](https://www.bi.go.id/id/fungsi-utama/sistem-pembayaran/ritel/kanal-layanan/QRIS/QRIS-Antarnegara/default.aspx)*;* [*Bank Indonesia, QRIS*](https://www.bi.go.id/id/fungsi-utama/sistem-pembayaran/ritel/kanal-layanan/qris/default.aspx)*;* [*Bank Indonesia, MDR QRIS*](https://www.bi.go.id/id/publikasi/ruang-media/cerita-bi/Pages/mdr-qris.aspx)*;* [*Bank Indonesia, how to set up QRIS*](https://www.bi.go.id/id/publikasi/ruang-media/cerita-bi/Pages/cara-membuat-qris.aspx)*;* [*Aktual.com, August 2026*](https://aktual.com/transaksi-qris-tembus-1255-miliar-pada-semester-i-2026-bi-perluas-layanan-cross-border/)*;* [*Katadata, February 2022*](https://katadata.co.id/finansial/keuangan/6204fcfac73f4/bi-naikkan-limit-transaksi-qris-jadi-rp-10-juta-untuk-dorong-konsumsi)*;* [*SumbarFokus, January 2024*](https://sumbarfokus.com/konsumen-transaksi-pakai-qris-kena-charge-lapor-contact-center/)*;* [*BCA QRIS Bisnis*](https://www.bca.co.id/id/bisnis/produk/penerimaan-bisnis/QRIS-bisnis)*;* [*Xendit QRIS*](https://docs.xendit.co/docs/qris)*;* [*Midtrans, static QRIS*](https://docs.midtrans.com/docs/introduction-to-static-qris)*;* [*Midtrans, QRIS API reference*](https://docs.midtrans.com/reference/qris)*;* [*InterActive QRIS fees*](https://qris.interactive.co.id/homepage/qris-fee.php)*;* [*Unlimit, payment link guide*](https://integration.unlimit.com/doc-guides/vejut2c18ng0y-p-payment-link)*;* [*Unlimit, Card methods integration guide*](https://integration.unlimit.com/doc-guides/ci8k5zm86k3ny-card-methods)*;* [*Unlimit, Indonesia coverage page*](https://www.unlimit.com/coverage/apac/indonesia/)*.*

## Why QRIS matters for businesses selling in Indonesia

### QRIS adoption in figures

QRIS already reaches Indonesian shoppers at national scale. By June 2026, 44.9 million merchants accepted QRIS, in Bank Indonesia figures reported by [ANTARA](https://bali.antaranews.com/berita/411917/qris-dipakai-6577-juta-pengguna-dan-diterima-4486-juta-gerai).

The first half of 2026 brought 12.6 billion QRIS transactions, 100.1% more than in the first half of 2025, and transaction value reached IDR 601 trillion by the end of June 2026. Bank Indonesia reported QRIS Tap, built on Near Field Communication (NFC), as its latest QRIS innovation in August 2026. As the chart shows, nearly all QRIS sellers are MSME merchants, and banks, non-bank institutions and switching institutions run the network behind them.

![QRIS in Indonesia, Bank Indonesia figures reported by ANTARA and Aktual.com: 65.8 million people using QRIS and 96.7% of QRIS merchants being micro, small and medium enterprises in June 2026, with 96 banks, 60 non-bank institutions and 4 switching institutions supporting the ecosystem in August 2026.](https://cdn.unlimit.com/wp-content/uploads/2026/10/29165541/qris-merchant-image-1.webp)*QRIS in Indonesia, Bank Indonesia figures reported by ANTARA and Aktual.com: 65.8 million people using QRIS and 96.7% of QRIS merchants being micro, small and medium enterprises in June 2026, with 96 banks, 60 non-bank institutions and 4 switching institutions supporting the ecosystem in August 2026.*

A checkout for Indonesian customers without QRIS leaves out the payment standard this merchant base already accepts. Stores on Magento, WooCommerce, OpenCart or PrestaShop can add Unlimit’s card checkout with a ready-made plugin ([WooCommerce plugin guide](https://integration.unlimit.com/doc-guides/ai8id5kd8liea-unlimit-woo-commerce-plugin)); QRIS itself connects to Unlimit through its payment page or the gateway.

## How QRIS works

The merchant’s QRIS provider issues a code; the customer scans it, or shows a code the merchant scans, in the app of any provider; the payment is processed immediately and the business is notified in real time; the funds settle later, on the provider’s cycle. Unlimit, one such provider, handles QRIS at online checkouts only; in-store QRIS runs through other providers’ tools ([payment processing page](https://www.unlimit.com/payment-processing/)).

### The customer flow, step by step

A QRIS payment moves through five events, and the customer acts only in the first two.

- The customer chooses QRIS at checkout or at the till.
- In merchant-presented mode (MPM) the merchant shows the payment QR code and the customer scans it; in customer-presented mode (CPM) the customer shows the code and the merchant scans it ([BCA’s QRIS Bisnis page](https://www.bca.co.id/id/bisnis/produk/penerimaan-bisnis/QRIS-bisnis)).
- The payment is processed immediately; for example, [Xendit’s QRIS documentation](https://docs.xendit.co/docs/qris) lists the QRIS processing time as instant.
- The merchant’s provider notifies it of the payment in real time: BCA, which offers acquiring services for QRIS, sends a real-time notification. A store that takes QRIS through [Unlimit](https://integration.unlimit.com/doc-guides/vejut2c18ng0y-p-payment-link) gets a real-time callback for each payment and can query the payment by the ID in it ([Payments integration types](https://integration.unlimit.com/doc-guides/v396nzw6ayeza)).
- The funds reach the merchant later, on the provider’s settlement cycle.

![How a QRIS payment moves from the customer to the business, with the merchant or the customer showing the QRIS code.](https://cdn.unlimit.com/wp-content/uploads/2026/10/29165549/qris-merchant-image-2.webp)*How a QRIS payment moves from the customer to the business, with the merchant or the customer showing the QRIS code.*

### What happens on the merchant side

On the merchant side, a QRIS order stays pending until the provider’s success notification arrives. QRIS acquirers advise the same: Xendit’s QR dispute prevention checklist, for one, has businesses release goods or services only after a “Success” notification or SMS alert.

### Settlement

Notification and settlement are two separate events: the notification tells the business that the customer has paid, and the settlement of funds to its account comes later. The settlement process also sets the amount: BCA credits the merchant’s settlement account with the transaction amount minus the MDR.

QRIS settlement timing varies by provider: Xendit settles in T plus 1 business days, and [InterActive QRIS](https://qris.interactive.co.id/homepage/qris-fee.php) makes one fund transfer a day. [Unlimit](https://www.unlimit.com/payment-processing/) confirms settlement terms and the settlement currency with each business. BCA’s Multi Settlement feature lets micro-business merchants move QRIS proceeds to their account up to four times a day, as [IndoTelko reported in October 2024](https://www.indotelko.com/read/1729308166/bca-permudah-merchant-kelola-qris).

The handling of failed or unconfirmed payments is not published by Bank Indonesia, so the reversal route is set in each provider’s contract. Reconciliation then checks each credit, which arrives net of MDR and of any admin or settlement fee ([Indonesia Business Post](https://indonesiabusinesspost.com/1505/business-and-investment/bi-introduces-fees-for-qris-merchants-despite-the-downsides-it-may-cause)).

## Ways to accept QRIS: static codes, dynamic codes, payment links and API

A business accepts QRIS through a provider and the modes that provider supports. All payment service providers (PJP) that use payment QR codes must apply QRIS, and PJPs and switching institutions that process QRIS transactions must first obtain Bank Indonesia’s approval. That makes the provider the first decision in how to set up QRIS for a business, and its modes set the options:

- Static code: a static QRIS code is always the same ([Midtrans static QRIS documentation](https://docs.midtrans.com/docs/introduction-to-static-qris)), so the merchant needs one QR code for every transaction.
- Dynamic code: the acquirer generates a new code for each transaction (Midtrans, for example), and the merchant sets the amount in advance so the customer cannot change it.
- API: a successful Midtrans Charge API request for QRIS returns a QR code image URL ([Midtrans API reference](https://docs.midtrans.com/reference/qris)).
- Payment links: Xendit supports payment links for QRIS. [Unlimit](https://integration.unlimit.com/doc-guides/vejut2c18ng0y-p-payment-link) also offers dynamic QR codes and payment links; a link stays valid for 30 days.

These are the modes Midtrans, Unlimit and Xendit publish; the set open to a given business depends on its provider.

## Benefits of accepting QRIS

QRIS gives a business three practical benefits, and each comes with a limit.

- One code for many apps: the business shows or prints a single QRIS code, whichever bank or wallet app the customer opens. The limit: the provider that issued the code, not the customer’s app, decides fees and settlement. Unlimit runs QRIS on one REST API together with cards and 1,000+ local payment methods across 200+ locations ([payment processing page](https://www.unlimit.com/payment-processing/)).
- Immediate confirmation: the payment is processed while the customer waits, and the order moves on at once. The limit: confirmation is not settlement, and the money arrives later on the provider’s cycle.
- Reach: QRIS is in demand because it is universal, practical, fast, secure, and has a wide reach ([Fortune Indonesia](https://www.fortuneidn.com/finance/aspi-nilai-transaksi-qris-di-q3-2025-tembus-rp128-triliun-d7w03-00-fykp7-8mgnkj)). The limit: a merchant count is not a count of active sellers. ASPI said of its Q3 2025 figures: “This could also be influenced by the large number of inactive/dormant merchants or those who do not make QRIS their primary choice for transactions” ([Databoks report](https://databoks.katadata.co.id/en/finance/statistics/6944c027919cc/the-number-of-qris-users-increased-in-q3-2025)).

Start accepting payments in Indonesia and globally with one integration

[Talk to sales](https://www.unlimit.com/contacts/)

## Limitations to plan for before you accept QRIS

Two things shape QRIS operations: how money goes back to customers and how disputes run, and the transaction limit.

### Refunds, complaints and disputes

QRIS refunds and disputes run under the provider’s rules, because a QRIS refund or dispute timeline is not published by Bank Indonesia, so the terms change with the provider a business picks. Midtrans currently offers no refunds for static QRIS, while refunds for dynamic QRIS can be made through its dashboard and API. Xendit limits the QRIS refund process to a published list of issuers. [Unlimit](https://integration.unlimit.com/doc-guides/ci8k5zm86k3ny-card-methods) supports refunds for QRIS payments.

Xendit generally lets a customer start a dispute within 90 days of the transaction. The dispute runs from the customer to the QR issuer, then the acquiring partner, then Xendit, which alerts the merchant to respond or accept it. The merchant must provide evidence in the retrieval stage, within 90 days of the transaction date.

BCA lists among its QRIS risks for merchants that it can debit the merchant’s account directly under certain conditions. The refund route, the dispute timeline and these debit conditions are therefore set in the provider contract.

### Transaction limits

QRIS caps a single payment at IDR 10 million: Bank Indonesia raised the maximum from IDR 5 million to IDR 10 million from 1 March 2022 ([Katadata](https://katadata.co.id/finansial/keuangan/6204fcfac73f4/bi-naikkan-limit-transaksi-qris-jadi-rp-10-juta-untuk-dorong-konsumsi)). BCA sets the limit at IDR 10 million per transaction for static and dynamic QRIS, and it can change with Bank Indonesia rules; Xendit has the same maximum. [Unlimit’s](https://www.unlimit.com/coverage/apac/indonesia/) QRIS limits are discussed with each business. Orders above the IDR 10 million cap need a second payment method at checkout.

## What QRIS fees cost a business

Bank Indonesia sets the QRIS merchant discount rate (MDR) itself, with rates in force from 1 October 2026 ([Bank Indonesia, MDR QRIS](https://www.bi.go.id/id/publikasi/ruang-media/cerita-bi/Pages/mdr-qris.aspx), updated 19 October 2026). Micro businesses pay 0% up to IDR 500,000 and 0.3% above; small, medium and large businesses pay 0% up to IDR 100,000 and 0.7% above. Education merchants pay 0.6% and petrol stations 0.4% above IDR 100,000, and public service agencies, social aid payments and payments to the government, such as taxes, carry 0%.

### Who pays the MDR

QRIS fees fall on the business: the provider charges the MDR to the merchant, as Bank Indonesia’s West Sumatra office explained in January 2024 ([SumbarFokus](https://sumbarfokus.com/konsumen-transaksi-pakai-qris-kena-charge-lapor-contact-center/)).

Bank Indonesia Regulation 23/6/PBI/2021, Article 52(1), bars goods and service providers from passing the provider’s fee on to the service user ([Liputan6](https://www.liputan6.com/bisnis/read/5750472/bank-indonesia-larang-merchant-bebankan-biaya-admin-ke-konsumen-ini-sanksinya)). In July 2023, OVO’s president director said OVO was conducting outreach to micro business merchant partners and urging them not to pass the QRIS MDR on to consumers as a surcharge ([Medcom.id](https://www.medcom.id/ekonomi/analisis/gNQvggYb-tidak-gaduh-ada-penyesuaian-tarif-nontunai)).

### Provider fees on top

A business that takes QRIS through a payment provider also pays that provider’s fees. BCA is one example: its fee table, last changed on 1 October 2026, applies the Bank Indonesia rates by business size and order amount.

InterActive QRIS charges 0% MDR on regular purchases below IDR 100,000 from 1 October 2026. Settlement to banks other than BCA, Mandiri, BNI and BRI carries an extra SKN fee of IDR 2,900 per settlement.

BCA charges a small business 0.7% of an IDR 200,000 order, or IDR 1,400, deducted before the credit reaches its account; an order of IDR 100,000 or less carries no MDR.

Other providers set their own rates, so two quotes compare only when the MDR and every extra line appear as separate items. QRIS fees through Unlimit are quoted per business; across its methods, Unlimit supports 50+ currencies ([payment processing page](https://www.unlimit.com/payment-processing/)).

## Static QRIS vs dynamic QRIS

Static QRIS and dynamic QRIS differ in how often the code changes, and Midtrans also handles their refunds differently.

A dynamic code suits orders where refunds matter. A static code suits a business that wants one printed or displayed code for every transaction. Other providers may set different rules for both code types.

Static QRIS vs dynamic QRIS

| Attribute | Static QRIS | Dynamic QRIS |
|---|---|---|
| QR code | Always the same | Different for each transaction |
| Amount | Not set in the code | Set in advance by the merchant; the customer cannot change it |
| Refunds | Not available at present | Through the dashboard and the API |

## How to accept QRIS: a business checklist

Six steps cover how to set up QRIS for a business, from the provider choice to the first live payment.

- Choose a payment service provider (PJP) licensed by Bank Indonesia, which [Bank Indonesia’s guide](https://www.bi.go.id/id/publikasi/ruang-media/cerita-bi/Pages/cara-membuat-qris.aspx) names as the starting point for setting up QRIS; registration fees and requirements can differ by provider. Unlimit’s coverage page lists QRIS under Indonesian digital wallets.
- Apply to register for QRIS and prepare the documents. To become a QRIS Merchant BCA, an individual merchant applies with a Merchant BCA form, an e-KTP (Indonesian citizens) or a passport with KITAS/KITAP (foreign nationals), and an NPWP if held. Once the documents are verified, the provider creates a Merchant ID and a QRIS code specific to the business.
- Choose the QRIS code type and mode: a static or dynamic code, a payment link or the API, depending on what the provider supports.
- Connect QRIS notifications to the order system and keep each order pending until the provider’s success notification arrives.
- Confirm the settlement cycle, the refund route, the dispute timeline and the fee lines with the QRIS provider.
- Test successful, failed, refunded and disputed QRIS transactions end to end, then go live.

## How Unlimit supports QRIS in Indonesia

A business can integrate QRIS through Unlimit to accept payments with this method, and QRIS is listed among the payment methods on [Unlimit’s Indonesia coverage page](https://www.unlimit.com/coverage/apac/indonesia/). Unlimit takes QRIS in IDR on its payment page or through the gateway, with refunds supported ([Card methods integration guide](https://integration.unlimit.com/doc-guides/ci8k5zm86k3ny-card-methods)), and works through partners licensed by Bank Indonesia. A business incorporated outside Indonesia can accept QRIS through one [Unlimit API integration](https://www.unlimit.com/payment-processing/), without a company, office or bank account in Indonesia. Pricing is quoted per business.

Start accepting payments in Indonesia and globally with one integration

[Talk to sales](https://www.unlimit.com/contacts/)

## FAQ

**Can a business charge customers extra for paying with QRIS?**A business cannot add a surcharge for QRIS payments, because Bank Indonesia’s regulation bars goods and service providers from passing the provider’s fee on to the customer. A merchant found doing so can face a warning and termination of the arrangement by its payment service provider, in the [legal analysis by DNT Lawyers](https://dntlawyers.com/apakah-pengenaan-biaya-tambahan-dalam-transaksi-melalui-qris-merupakan-pelanggaran/).

**Can a merchant set a minimum spend for QRIS payments?**A minimum spend for QRIS payments is the merchant’s own policy, not a Bank Indonesia rule. In July 2026, Bank Indonesia’s Riau Islands office called restrictions that a business imposes unilaterally, such as a minimum spend, internal policy ([IDN News report](https://idnnews.co.id/merchant-qris-nekat-terapkan-batas-minimal-transaksi-bi-kepri-laporkan-ke-bi-care-131/2/)). Check your provider agreement before adding one.

**Can a small business without a business licence get static QRIS?**BCA lets a small business without a business licence apply for static QRIS. An applicant without an NIB, TDP or business licence can attach a photo of the business location as a supporting document. Other providers set their own requirements, so the document list depends on the provider a business chooses. A business incorporated outside Indonesia can accept QRIS through one Unlimit API integration, without a company, office or bank account in Indonesia ([Indonesia coverage page](https://www.unlimit.com/coverage/apac/indonesia/)).

**What happens if a QRIS merchant is registered with two providers?**A merchant registered for QRIS with another provider may find its transactions routed to that other acquirer. Midtrans says it cannot see transactions processed by other acquirers. A business that adds a second QRIS provider should therefore check which provider’s code customers scan and reconcile each provider’s reports separately. A shop that adds Unlimit for QRIS gets a real-time callback for each payment ([payment link guide](https://integration.unlimit.com/doc-guides/vejut2c18ng0y-p-payment-link)).

**How long does it take to get a QRIS code for a GoPay merchant?**The timing depends on the provider: at Midtrans, a QRIS GoPay merchant receives its static QRIS code within three to seven working days after registration is finished. Existing Midtrans merchants that already accept GoPay can accept QRIS automatically, per the [Midtrans documentation](https://docs.midtrans.com/docs/introduction-qris-payment). During onboarding, [Unlimit](https://www.unlimit.com/coverage/apac/indonesia/) tells each of its merchants which documents QRIS needs, along with the conditions and timing for issuing its QRIS code.

## Explore the category

### Payments in Indonesia and other markets

- [Payment gateway in Indonesia](https://www.unlimit.com/blog/payments/payment-gateway-indonesia/)
- [Payment methods](https://www.unlimit.com/payment-methods/)
- [Payment methods in Mexico](https://www.unlimit.com/blog/payments/blog-payment-methods-in-mexico/)

### Other payment method guides

- [DANA for business](https://www.unlimit.com/blog/payments/dana-for-business/)
- [OPay for business](https://www.unlimit.com/blog/payments/opay-for-business/)
