In short. QRIS is read by all Indonesian wallets and bank apps, so a foreigner needs only GoPay registered on a foreign number, or an account at a local bank. To pay: open "Scan" or "Pay" in the app, point the camera at the code, check the seller's name and the amount, and confirm with your PIN. Bank Indonesia's limit is 10 million rupiah per transaction, and GoPay has its own ceiling of 5 million per scan. A seller may not charge a surcharge "for QRIS". Before paying, compare the recipient name on the screen with the name of the venue: fake stickers over someone else's code are a known scam.
What QRIS is. Quick Response Code Indonesian Standard, a single QR code standard for payments introduced by Bank Indonesia. On the Bank Indonesia page the idea is described in one phrase: one app is enough to pay by any payment QR in the country, even if you and the seller use different providers. A QRIS code hangs at the till of a warung, at a petrol station, at a market, in a taxi and on a donation box in a temple. There is no minimum amount, and Bank Indonesia writes that you can pay even one rupiah.
What a foreigner can pay with. The code is read only by an app connected to the Indonesian payment system: the local wallets GoPay, OVO, DANA, ShopeePay and the apps of Indonesian banks. A Visa or Mastercard card does not scan a QR code: these are different systems. The path we have checked for a foreigner is GoPay: the wallet is registered on a foreign number, and the passport check raises the balance limit to 20 million rupiah. Other wallets usually ask for an Indonesian number at registration, and we have not checked that path. The second option, for those who live on a KITAS, is an account at an Indonesian bank with its app. Tourists from Thailand, Malaysia, Singapore, Japan, South Korea and China can pay by QRIS from their home apps: Bank Indonesia has connected these countries to cross-border QRIS, South Korea on 1 April 2026, according to reports by Bisnis.com and RRI citing the bank.
How to pay. The order follows the GoPay article of 6 January 2025, and bank apps work the same way:
- Open the wallet and find the "Scan", "Bayar" or QR icon on the home screen. Scan from inside the app: the phone's ordinary camera will open a link from the code, while the payment app opens a payment.
- Point the camera at the seller's code: the sticker at the till, the terminal screen or the code on the receipt.
- Check what the app shows: the seller's name and the amount. If the amount did not load, the code is static, so enter it yourself according to the bill.
- Confirm with your PIN, fingerprint or face. A confirmation appears on the screen. Show it to the seller, because their notification may arrive with a delay.
A static code is a sticker with a permanent code, and you enter the amount. A dynamic code is created by the seller for a specific bill on the terminal or in the app, and the amount is already in it, so it is harder to make a mistake. Cafes and shops more often have a dynamic code, markets and warungs a sticker.
Limits. Under Bank Indonesia rule PADG 24/1/PADG/2022, in force since 1 March 2022, one QRIS transaction cannot exceed 10 million rupiah. A provider may set its own daily and monthly ceilings. At GoPay, under the Gojek help page, payment by QR scan is limited to 5 million rupiah, and a payment cannot exceed the wallet balance either: without a passport check GoPay holds no more than 2 million rupiah, after the check 20 million. A large purchase, for example a month's villa rent, is usually split into several transactions or paid by transfer to an account.
A surcharge for QRIS is prohibited. The fee for accepting QRIS, called MDR, is paid by the seller to their bank, and the seller may not pass it on to the buyer. The ban is written in article 52 of Bank Indonesia rule PBI 23/6/PBI/2021 for payment service providers, and Bank Indonesia itself writes on its QRIS page that the user bears no surcharges when paying. Since 1 December 2024 the fee for micro-entrepreneurs on payments up to 500,000 rupiah is zero, according to press reports citing the bank. If a till asks for "plus a thousand for QRIS" or "plus three percent", that is a violation. We do not advise arguing with a warung cashier: it is easier to pay in cash. A complaint is accepted by your payment provider, and above it by Bank Indonesia through the BICARA 131 contact centre.
Fake stickers. The scheme that Bank Indonesia warned about in February 2026: a fraudster sticks their own code over the seller's code or a donation box, and the money goes to them. A second scheme is quishing: the QR leads to a site or app that asks for a login and password. The bank advises paying only from official apps of banks and wallets and entering no data after scanning. What to check: the recipient name on the confirmation screen must match the name of the venue, a genuine code has the QRIS logo and the seller's name printed next to it, and a sticker stuck over another one is a reason to ask the cashier. If a page with a login form opened after scanning, this is not a payment, so close it.
If the code will not read or the payment failed. First the simple things: wipe the camera, step away from glare, hold the phone steady, check the internet on your phone. If the sticker is worn, ask the seller to show the code on the terminal screen or in their app: a dynamic code reads more reliably. If the money was charged and the seller says nothing arrived, do not pay a second time at once. Show the confirmation screen with the transaction number and ask them to check their app in a minute, because notifications arrive late. A buyer cannot cancel a QRIS transaction themselves. A refund is made by the seller or by your provider after a request to the app's support, so keep the confirmation screen with the transaction number as a screenshot until the end of the day.
Withdraw cash by QR. Since 17 August 2023, QRIS has had an extension, QRIS Tuntas: withdraw cash at an ATM or from an agent, deposit cash and transfer money by scanning a code instead of a card. Not all apps support it. At launch Bank Indonesia named DANA among the non-bank wallets, and the list is growing. A fee is charged for an operation through another bank. Check whether your app has the item "Tarik tunai QRIS" before you rely on it on the road.
Topping up the wallet. With cash at Indomaret or Alfamart by phone number, by transfer from a person with GoPay, or by selling USDT on a P2P market with payout to the wallet. If you do not want to deal with P2P and strangers, message @buzz_ex: rupiah can go to GoPay, to an account or in cash.
What this means for you. In your first days, set up GoPay on your own number and pass the passport check: after that QRIS covers almost all payments on the island, from coffee to petrol. Scan from inside the app, check the seller's name and the amount, do not pay a surcharge "for QRIS" and do not enter any passwords after scanning. Show the confirmation screen to the seller and keep it until the end of the day. Split large sums or pay by transfer, and keep cash for the market and for when the internet is down.