How to Make QRIS for Your Business - Register, Print and Protect Your Payment Code
by KoloQR TeamBasics

You make a QRIS code by registering as a merchant with a licensed payment provider - a bank such as BRI, Mandiri, BCA or BNI, or an e-wallet such as GoPay or DANA - usually inside its app, with your KTP, a selfie and a photo of your business. After verification, the provider issues your QRIS with a National Merchant ID on it, and the static sticker is free. No QR code generator, KoloQR included, can create a working QRIS on its own. From 1 October 2026, micro merchants pay no fee on payments up to Rp500,000 and 0.3% above that, and the fee may not be passed on to customers.
Key Points
- QRIS is issued only by a payment provider licensed by Bank Indonesia - a bank or an e-wallet. You register as a merchant in its app or at a branch, and it creates the code. A QR code generator cannot make a working QRIS.
- Registration for a micro business usually needs a KTP, a selfie, the business name and a photo of the place, and a bank account for payouts. The static QRIS sticker is free, according to Bank Indonesia.
- From 1 October 2026, micro merchants pay 0% on QRIS payments up to Rp500,000 and 0.3% above that; other businesses pay 0% up to Rp100,000 and 0.7% above. Charging the fee to customers is prohibited.
- One QRIS accepts payment from any Indonesian banking or e-wallet app, up to Rp10,000,000 per transaction, and from tourists using linked apps from Thailand, Malaysia, Singapore, Japan and China.
- Check your printed QRIS regularly: in April 2023, fake QRIS stickers were stuck over the real ones on donation boxes at 38 locations in Jakarta. The payer's app shows the merchant name before payment, and that name is the check.
What QRIS Is and Why Only a Bank or E-Wallet Can Issue It
QRIS (Quick Response Code Indonesian Standard) is Indonesia's national payment QR code, set by Bank Indonesia, that any Indonesian banking or e-wallet app can scan to pay. Bank Indonesia built it with ASPI, the Indonesian payment system association, launched it on 17 August 2019 and made it mandatory for QR payments from 1 January 2020.
Before QRIS, a shop needed a separate code for each app - one for GoPay, one for OVO, one for DANA, one per bank. A QRIS replaces the whole row: one code, and the customer pays with whichever app they already use. Bank Indonesia reported 44.86 million QRIS merchants in June 2026, 96.68% of them micro, small and medium businesses.
A PJSP (Penyedia Jasa Sistem Pembayaran) is a payment provider licensed by Bank Indonesia - a bank or e-wallet - that registers merchants and issues their QRIS. The provider is also the acquirer: the money paid into your QRIS passes through it to your account, which is why only a provider can issue the code. A QRIS made anywhere else would either point to someone else's account or to no account at all.
An NMID (National Merchant ID) is the national identification number printed on a QRIS sticker that identifies one merchant outlet. The NMID and the merchant name together are what Bank Indonesia's material calls the outlet's identity, and they are the two things a customer's app reads back before taking the money.
QRIS follows the international EMVCo QR payment format, the same family as Thailand's PromptPay, Singapore's PayNow and Brazil's Pix. The payload is a string of numbered fields ending in a CRC16 checksum, so changing a single character makes every payment app reject the code.
How to Register for QRIS, Step by Step
To get a QRIS, choose one licensed provider, install its merchant app (or visit a branch), sign up with your phone number, upload your KTP, a selfie and photos of your business, and add a bank account for payouts. After verification, which providers quote at one to four working days, download the QRIS sticker file from the app and print it.
- Choose One Provider. Pick the bank where you already have an account, or an e-wallet you already use. The table in the next section compares the common ones.
- Open the Provider's Merchant App. For example GoPay Merchant, DANA Bisnis, BRImo (Jadi Merchant BRI), Livin' Merchant by Mandiri, the BCA merchant app or wondr Merchant by BNI. Most also accept registration at a branch.
- Sign Up and Verify Your Identity. Enter your phone number and the OTP, then photograph your KTP and take a selfie or face scan. The name on the KTP should match the bank account you will be paid into.
- Describe Your Business. Enter the business name customers will see, its category and address, and upload a photo of the stall, shop or counter. Banks may also ask for an NIB.
- Add the Payout Account. Banks usually require an account with them. E-wallets pay into a merchant balance that you withdraw to a bank account.
- Wait for Approval, Then Download the Sticker. Once approved, the app shows your QRIS with the merchant name and NMID. Download the print file rather than screenshotting the screen.
- Make a Test Payment. Pay a small amount from a different app than the provider's own - a banking app if you registered with an e-wallet, or the reverse - and confirm the merchant name and the incoming payment.
The business name you enter in step four is printed on the sticker and shown in every customer's app before they pay. Choose the name people know your stall by, because a customer who sees an unfamiliar name on the confirmation screen is right to stop and ask.
Which Bank or E-Wallet to Register QRIS With
Register with the provider whose account you already use, because that is where the money lands. Every QRIS accepts every app, so the choice of provider does not limit which customers can pay you - it decides where the money settles, how fast you can withdraw it, and which app you use to watch payments arrive.
| Provider | Merchant app | Where the money lands | Worth knowing |
|---|---|---|---|
| GoPay | GoPay Merchant | GoPay merchant balance, withdrawn to a bank | Sign-up with phone number, KTP and a selfie holding the KTP |
| DANA | DANA Bisnis | DANA balance, withdrawn to a bank | NPWP optional for individuals |
| BRI | BRImo (Jadi Merchant BRI) or BRI Merchant | BRI account | Needs a BRI account and a photo of the business |
| Mandiri | Livin' Merchant | Mandiri account | Needs a Mandiri personal account; face verification in the app |
| BCA | BCA merchant app | BCA account | May ask for NIB and a business permit; settlement up to four times a day |
| BNI | wondr Merchant | BNI account | Account opening and QRIS in one app; settlement up to five times a day |
A bank is the better fit when the takings should go straight into the account you pay suppliers from. An e-wallet is the better fit when you want payments visible on your phone the moment they arrive and are happy to withdraw to a bank in a separate step. Either way, the same customers can pay you.
Websites that offer to "register your QRIS" for a fee are aggregators, not Bank Indonesia. Bank Indonesia runs no self-registration portal of its own; a merchant registers with a provider. Register directly in your bank's or e-wallet's own app, downloaded from the official app store, and never send your KTP photo to someone offering to do it for you through a chat message.
What Documents Do You Need for QRIS?
An individual micro merchant usually needs only a KTP, a selfie or face scan, the business name and address, a photo of the business, and a bank account. An NPWP is usually optional for individuals. Banks are more likely than e-wallets to ask for an NIB or a business permit, and a registered company needs its company documents.
- KTP (identity card). Photographed in the app. The name should match the payout account.
- Selfie or face verification. Some apps ask for a selfie holding the KTP, others for a live face scan.
- Business name, category and address. The name is what payers see on their screen.
- Photo of the business. The stall, the shop front or the counter - proof the outlet exists.
- Bank account. For banks, usually an account at that bank; for e-wallets, any bank for withdrawals.
- NPWP (tax number). Usually optional for an individual; asked for by some banks.
- NIB (business identification number). Asked for by some banks; obtainable free through the OSS system.
A street vendor without an NIB can still get QRIS through an e-wallet or a bank that does not ask for one. If one provider rejects the application for missing documents, another may not require them.
QRIS Fees for Merchants From 1 October 2026
Registering for QRIS and receiving the static sticker cost nothing. What a merchant pays is the MDR on each payment: from 1 October 2026, micro businesses pay 0% on payments up to Rp500,000 and 0.3% on larger ones, and small, medium and large businesses pay 0% up to Rp100,000 and 0.7% above.
MDR (merchant discount rate) is the percentage of each QRIS payment the merchant pays to the payment provider; the customer pays nothing extra. The provider deducts it before the money reaches your account, so a Rp600,000 payment to a micro merchant settles as Rp598,200.
| Merchant category | Fee up to the threshold | Fee above it |
|---|---|---|
| Micro business (UMI) | 0% up to Rp500,000 | 0.3% |
| Small, medium and large businesses | 0% up to Rp100,000 | 0.7% |
| Education | 0% up to Rp100,000 | 0.6% |
| Fuel stations (SPBU) | 0% up to Rp100,000 | 0.4% |
| Payments to government | 0% | 0% |
| Social aid and donations | 0% | 0% |
The fee may not be added to the customer's bill. Bank Indonesia's rules forbid surcharging QRIS payments, and a merchant who charges customers "+0.3% for QRIS" risks having the merchant account closed by the provider. Price the fee into your margins the way a shop prices in card fees.
Static or Dynamic QRIS: Which One You Need
A stall, a warung or a small shop needs a static QRIS - one printed sticker the customer scans and types the amount into. A business with a till or an EDC terminal can use a dynamic QRIS, generated per sale with the amount inside, so the customer only confirms. Most micro merchants start and stay with static.
A static QRIS is one printed code used for every sale, where the customer types the amount into their app before paying. A dynamic QRIS is a code generated for a single transaction on a till, terminal or phone, with the amount already inside it.
| Static QRIS | Dynamic QRIS | |
|---|---|---|
| What it is | One printed sticker | A new code on a screen per sale |
| Who enters the amount | The customer | The cashier's system |
| Equipment needed | None - a printed sticker | A till, terminal or phone app |
| Typical risk | Customer types the wrong amount | Terminal or connection down |
| Best for | Stalls, warungs, small shops, donations | Restaurants, retail chains, online checkout |
The weak point of a static QRIS is the amount. Ask the customer to show you the payment confirmation screen, not just the sound of a notification, and check the amount and your merchant name on it. A notification speaker or the merchant app on your own phone confirms the money arrived.
QRIS Limits and When the Money Arrives
One QRIS payment can be up to Rp10,000,000, a limit Bank Indonesia set from 1 March 2022; there is no minimum. When the money reaches your bank depends on the provider: Bank Indonesia reported in March 2024 that most providers already settle on the same day, and some settle several times a day.
Settlement is the transfer of the day's QRIS takings from the provider to the merchant's account. With an e-wallet, payments usually appear in the merchant balance at once and are withdrawn to a bank separately. With a bank, BCA advertises settlement up to four times a day and BNI's wondr Merchant up to five; others settle once a day or the next morning. Check the schedule in the provider's app before choosing, if cash flow matters.
Payments above Rp10,000,000 need another method, such as a bank transfer. A dynamic QRIS cannot raise the limit either - it applies to every QRIS transaction.
What Must Be on a Printed QRIS Sticker
A QRIS sticker has a fixed layout set by Bank Indonesia: the QRIS logo and the GPN logo, the merchant name, the NMID, the QR code itself, and the acquiring provider's name with a print version at the bottom. A terminal ID may sit under the NMID. Bank, e-wallet and other provider logos are not allowed on the front.
The fixed layout is what lets a customer recognise a genuine QRIS at a glance, and it is the reason to print the file your provider issues rather than rebuild it. Bank Indonesia has published no rule about recolouring the code pattern itself, but its fraud guidance asks merchants to make sure their QRIS cannot be replaced or modified by unauthorised parties, and a sticker that does not look like a QRIS is harder for customers to trust.
Could a QR code generator redraw the same QRIS in a round shape, in your brand colours, with your logo in the middle? Technically, yes - the payload is text, and re-encoding it unchanged keeps payments going to the same NMID. In practice, the result loses the QRIS template customers are taught to look for, and if anything goes wrong your provider supports the code it issued, not a copy. Decorate around the QRIS - the stand, the frame, the board it hangs on - and leave the sticker as issued.
That is also why KoloQR, a free QR code generator with circular and custom-shaped QR codes, has no QRIS type, while it does accept the payloads of Thailand's PromptPay, Singapore's PayNow and Brazil's Pix, none of which mandates a printed template.
How to Print and Display QRIS at Your Counter
Print the provider's QRIS file at full quality, with the code at least 3 cm wide for a counter scanned from arm's length, on a matte, laminated or waterproof surface, and place it upright where the customer stands - not flat on the counter under a light. Display one QRIS per counter, never two payment codes side by side.
- Size by distance. A QR code needs about 1 cm of width for every 10 cm of scanning distance. A sticker on the counter is fine at 3 to 5 cm; a QRIS on a wall behind the cashier, read from 1.5 metres, needs about 15 cm. The minimum size guide has the full table.
- Print from the file, not a screenshot. A screenshot of the app screen is low resolution and often cropped; the download in the merchant app is meant for printing.
- Choose matte over gloss. A glossy sticker under a shop lamp throws a white reflection across the code from some angles. Matte vs gloss printing explains why.
- Protect it outdoors. Rain, cooking oil and sun fade paper in weeks. Laminate it, use a vinyl sticker, or put it in an acrylic stand, and replace it when the black starts to grey.
- Keep the white margin. The empty border around the code - the quiet zone - is part of what a phone needs to find it. Do not let a frame, tape or another sticker cover it.
- Stand it upright at eye level. A code lying flat on the counter makes customers lean over and catches glare. An upright acrylic stand facing the queue scans faster.
- One payment code only. Bank Indonesia's guidance is a single QR per merchant. Take down old GoPay, OVO or bank-specific codes once QRIS is up, so nobody pays into an account you no longer watch.
Customers who come from a slow mobile signal can still scan: a QRIS is read by the phone camera with no internet, and only the payment itself needs a connection. If many payments fail at one spot, the problem is the signal at the counter, not the code.
If the printed QRIS does not scan at all, the cause is almost always physical - glare, a crease, a damaged corner, a dirty laminate or a code printed too small. Why a QR code is not scanning works through them in order; for a damaged sticker, download and print it again from the app.
How to Check Your QRIS Has Not Been Swapped
Check your printed QRIS at least once a week by scanning it with any payment app, without paying, and confirming that your own merchant name appears. A fake QRIS stuck over the real one sends every payment to the fraudster's account, and it looks identical from a step away. Report a swapped code to your provider at once.
This is not a hypothetical. In April 2023, a man stuck fake QRIS stickers over the real ones on mosque donation boxes in Jakarta, including at Istiqlal, at 38 locations, and collected Rp13.06 million in nine days before the account was frozen. Unattended QRIS - donation boxes, parking, vending, a stall left alone at prayer time - is the most exposed.
- Scan your own code, don't pay. The payment app shows the merchant name before the PIN screen. If it is not your name, the code has been replaced.
- Read the payload with a decoder. Upload a photo of the sticker to the QR code decoder. A QRIS payload typically shows the marker ID.CO.QRIS.WWW, the country code ID and your merchant name in plain text; a different name, or text that is not a QRIS at all, means trouble.
- Make it hard to cover. A sticker under acrylic or behind a laminate is harder to paste over than bare paper.
- Tell customers what name to expect. A small line under the sticker - "You should see: Warung Bu Sri" - turns every customer into a check.
For customers, Bank Indonesia's advice is to check that the merchant name on the payment screen matches the shop before entering the PIN, and not to pay if anything looks wrong. Fraud can be reported to Bank Indonesia's BICARA contact centre on 131 and to the police.
Other QR Codes Next to Your QRIS
A counter often needs more than payment: an Instagram account, a WhatsApp order number, a menu, the Wi-Fi password or a Google review link. Those codes are not QRIS and can be made with any QR code generator - but keep them visibly separate from the QRIS and label each one, so no customer tries to pay into a menu.
Put non-payment codes on a different card or a different side of the stand, each with a line of text saying what it opens - "Order on WhatsApp", "Menu", "Wi-Fi". A branded design helps here rather than hurts: a round or coloured code with a logo reads as clearly not the payment code, which is the separation you want.
KoloQR makes those companion codes in the browser for free - WhatsApp, Instagram, Wi-Fi and Google review codes among them - with custom shapes, colours and a logo, exported as SVG or PNG for print. Styling never improves scanning; test each code on two phones before printing. Start from the KoloQR generator, and see QR codes for coffee shops for how a small counter usually lays them out.
QRIS Abroad, QRIS Tap and QRIS TUNTAS
A QRIS sticker also accepts payments from tourists whose home apps are linked to QRIS: as of October 2026, payers from Thailand, Malaysia, Singapore, Japan and China, with South Korea being connected. The merchant needs to do nothing - the payment arrives in rupiah like any other. QRIS Tap and QRIS TUNTAS are separate services built on the same system.
| Service | What it does | Since |
|---|---|---|
| Cross-border QRIS: Thailand | Thai payment apps pay Indonesian QRIS, and the reverse | 2022 |
| Cross-border QRIS: Malaysia, Singapore | Linked to DuitNow and NETS | 2023 |
| Cross-border QRIS: Japan | Linked to Japan's national QR system | August 2025 |
| Cross-border QRIS: China | Two-way link | 30 April 2026 |
| QRIS Tap | Pay by tapping an NFC phone on the merchant's device, no scan | 14 March 2025 |
| QRIS TUNTAS | Cash withdrawal, transfer and cash deposit by QR | 17 August 2023 |
QRIS Tap needs a merchant device that accepts NFC, so it is an addition to the printed sticker rather than a replacement. For a stall that only has a sticker, nothing changes.
Make Your QR Code
Free, with no account and no watermark. Choose a shape, add a logo, check the contrast, and export SVG, PDF, EPS or PNG - a static code with no subscription behind it.
Generate QR CodeQuestions? Answered
No. A working QRIS is issued only by a payment provider licensed by Bank Indonesia, because the code has to carry your registered National Merchant ID and route money to your account. Register as a merchant in a bank or e-wallet app, then download and print the sticker it issues. A QR code generator can make the other codes on your counter, not the payment one.
Registration and the static QRIS sticker are free. From 1 October 2026, micro merchants pay no fee on payments up to Rp500,000 and 0.3% above that; other businesses pay 0% up to Rp100,000 and 0.7% above. The provider deducts the fee before settlement, and adding it to the customer's bill is not allowed.
Partly. E-wallet merchant apps such as GoPay Merchant pay into a merchant balance, so you can receive payments before linking a bank. Withdrawing that balance usually needs a bank account, and bank providers require one from the start. A basic savings account opened in the same bank's app is the simplest way to cover it.
Usually one to four working days, depending on the provider and how complete the documents are; e-wallets tend to be faster than banks. The most common delay is a blurry KTP photo or a name that does not match the payout account. If nothing happens after a week, contact the provider's support from inside the app.
Bank Indonesia publishes no rule against registering with several providers, and each would issue its own code and NMID. Bank Indonesia's guidance, though, is one QR code displayed per outlet, and one QRIS already accepts every app. Use one provider per counter; register a second only for a separate outlet or a separate business.
Leave the QRIS sticker as your provider issues it. Bank Indonesia sets a fixed layout - QRIS and GPN logos, merchant name, NMID - so customers can recognise a genuine code, and asks merchants to protect their QRIS from modification. Put your branding on the stand or frame around it, and use a separate styled QR code for your social media.
Either the merchant name was registered differently from the name on your sign, or the sticker has been replaced. Scan it yourself: if the name is your registered business name, update it with your provider if it confuses customers. If it is someone else's name, remove the sticker, download yours again from the app and report it.
Yes, if their home payment app is linked to QRIS. As of October 2026 that covers payers from Thailand, Malaysia, Singapore, Japan and China, with South Korea being connected. The tourist pays in their own currency and you receive rupiah into the same account, with no change to your sticker.
The QRIS stops working, because it settles to the account registered with that provider. Moving to a new bank or e-wallet means registering again and printing the new QRIS; there is no way to move the old code to a new provider. Take the old sticker down the same day so no payment is lost.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
PromptPay QR Code
Encode the PromptPay payload your Thai bank app issued as a code you can style and print.
PayPal QR Code
Take a payment from a printed code by sending the scan to your PayPal.me link.
Bars & Pubs
Drinks menus, rotating tap lists, Wi-Fi and gig calendars on codes that still scan in a dim room.
Coffee Shops
Menu, Wi-Fi, loyalty signup and review links on table tents, takeaway cups and window signs.
Branded QR Codes
Match QR codes to your brand with a logo, colors, and custom shapes - without sacrificing scannability.
Fake QR Codes and Quishing: How to Spot One Before You Scan
How fake QR codes and quishing work, where they turn up, how to check a code before opening it, what to do if you scanned one, and how to protect the codes you print.
Why KoloQR?
- Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
- Customize colors, logos, and unique shapes
- Download high-quality PNG and SVG files
- Built for both print and digital

