From a static QRIS to a paid order.
The buyer’s money goes straight into your merchant account. Konek QR only reads the news of the payment through the cashier phone, then passes it on to your system.
From invoice to paid, in 3 steps.
Upload your static QRIS once. After that, every order runs like this.
- Step 1
Create an invoice
From the dashboard, the API or a payment link. Your static QRIS becomes a QR with the exact amount.
- Step 2
The buyer scans and pays
From any bank or e-wallet app. The money goes straight into your own merchant account.
- Step 3
You hear about it at once
The cashier phone reads the notification, Konek QR tells your system by webhook or Telegram. The order is marked paid.
The buyer’s money never passes through Konek QR. We only pass on the news that it has arrived.
The unique code: why the total is not round.
Payment notifications only state the amount. So every invoice gets a unique code of Rp1–499 (except Rp100, 200, 300, 400), and two orders at the same price never get mixed up.
Add mode (default)
- Price
- Rp25,000
- Unique code
- + Rp193
- Buyer pays
- Rp25,193
Subtract mode
- Price
- Rp25,000
- Unique code
- − Rp193
- Buyer pays
- Rp24,807
Sample figures.
- The total never ends in 000 or 500, so it is never confused with a direct payment to your static QR.
- No other invoice uses the same total until 24 hours after it expires.
- Rather buyers not pay extra? Use subtract mode in the dashboard.
Every notice is matched, and the result is honest.
Konek QR looks for an invoice with exactly the same total in your account, using the time the notification appeared on the phone. The result is always one of these statuses.
Invoice status board
- 1 matchPaid before it expiredPAID
- ≤ 24 hPaid up to 24 hours after expiry; you decide what happensPAID LATE
- 0 matchFor example a buyer paid your static QR directly; it is loggedUNMATCHED
- expiredNot paid before its deadlineEXPIRED
- cancelCancelled in the dashboard or the APICANCELLED
Cashier phone offline? The money still lands, the news follows.
The buyer’s money never depends on your phone. Only the news can be delayed, and Listener is built so that news is never lost.
The money
- Buyer
- Your merchant account
Direct, never stopping at Konek QR.
The news of it
- Cashier phone
- Konek QR
- Your system (webhook) and Telegram
Payment information only, never the money.
Kept on the phone first
Every payment notification goes into a queue on the phone before it is sent, with a unique ID so the server never records it twice.
Resent automatically
When the connection returns, after the phone restarts, and every 15 minutes as a fallback. The queue is kept for up to 7 days.
Still on time
Matching uses the time the notification appeared on the phone, corrected for the phone’s clock, not the time the news reached the server.
You hear about it when the phone goes quiet
The phone checks in every 180 seconds. After 7 minutes of silence, a device.offline event goes to your webhooks or Telegram. With requireDetection, new invoices are refused meanwhile.
What you need.
No business documents and no KYC. The setup guide is in the docs.
A static QRIS
From your merchant account. Upload the image or paste its content in the dashboard.
An Android phone
Ideally Android 11 or newer, signed in to the merchant app that receives your QRIS payments, always on charge, with battery optimisation off for Listener. Safest is a dedicated cashier phone.
A Konek QR account
Sign up with email or Google. One account can use several QRIS and up to 2 phones.
For developers
A public HTTPS URL for webhooks, or no URL at all: read events through GET /v1/events.
Not on iPhone yet: iOS does not let an app read other apps’ notifications, so Listener is Android only.
Connect your QRIS and take your first payment today.
Sign up free, upload your static QRIS, then try it in test mode before you take real money.