- A payment device at a counter or cashier.
- A QRIS display for amounts that change from one customer to the next.
- A pay-at-device stand where staff key in the total.
- Any device that should collect a payment without selling catalog items.
How a terminal payment works
1
Merchant enters the amount
The merchant or staff types the amount on the device while it is idle.
2
Device shows the QR code
The device shows a QRIS code for exactly that amount. The customer pays exactly the amount entered on the device.
3
Customer pays
The customer scans the code with a QRIS-enabled banking or e-wallet app and completes the payment.
4
Payment is confirmed
Firmngin confirms the payment, records the transaction, and notifies the device.
5
Device is ready again
The device clears the QR code and returns to idle, ready for the next amount. No session stays open.
Supported devices
Terminal mode is supported on Python and Arduino devices, as shown in the Business Mode card in the dashboard. Your device application handles amount entry and shows the QR code on its own screen or display.Enable terminal mode
- Open Monetization in the dashboard and select your merchant.
- Go to Linked Devices.
- Open the setup drawer for the device you want to configure.
- In the Business Mode card, select Terminal.
- The public store page is disabled. Visitors who open it see that the store page is disabled, and no orders can be placed from it.
- Catalog items are not used on that device.
- Map Entity, Flow, and verification settings are hidden.
- Kiosk mode is turned off, because kiosk is a vending-only option.
- The linked device drawer shows Overview and Transactions.
Amount and QR rules
One pending QR per device
A device can only have one pending QR code at a time. While a QR code is waiting to be paid, the device refuses a new amount. It accepts a new amount again once the current payment is paid, expires, or is cancelled. If the merchant entered the wrong amount, cancel the pending transaction instead of waiting for it to expire. You can cancel from the device application, if it supports cancelling, or from the dashboard.When a new amount is refused
Transactions
The Transactions view in the linked device drawer replaces Sessions for terminal devices. It lists only Terminal QRIS transactions for that device, so orders from an earlier business mode on the same device stay out of it. Open a transaction to see its status, time, and the payment and transaction process events in order. For a pending transaction you can:- See the QRIS code that the customer still needs to scan.
- Select Cancel to invalidate the QR code so the customer can no longer pay it.
- Select Simulate payment to mark the payment as paid without real money. This option only appears for test/debug merchants, where supported.
Automatic cancels
A pending Terminal transaction is cancelled automatically, and the device clears its QR code, when:- The device status is changed to idle or maintenance.
- The device is switched to another business mode.
- The device is unlinked from the merchant, deleted, or linked to another merchant.
Do not cancel, unlink, or switch business mode while a customer is in the middle of paying. If the payment completes first, it is recorded as paid and cannot be cancelled.
Switching modes
Switching a device out of Terminal cancels any pending Terminal transaction on that device first, so its QR code can no longer be paid. If a customer already paid the transaction, or the cancellation cannot be confirmed yet, the switch is refused and the device stays in Terminal mode. After switching to Service or Vending, review the device’s catalog items, Map Entity, Flow, and public store page before opening it to customers. See Business Modes for what changes in each mode.Limits
Terminal mode does not support:- Catalog items, carts, or per-device stock.
- The public store page or customer checkout from a phone.
- Sessions, session controls, or dispense.
- Prepaid or postpaid catalog pricing. Each transaction is a single amount paid upfront with QRIS.
- Kiosk mode.
Use Vending Mode with kiosk mode when customers should pick catalog items and pay on the device screen.
Terminal flow
Checklist
- The device’s business mode is set to Terminal.
- The device is a supported Python or Arduino device, and its application can enter amounts and show the QR code.
- A test transaction has been paid with Simulate payment on a test/debug merchant.
- A pending transaction has been cancelled from the dashboard, and the device cleared its QR code.
- Staff know that only one QR code can be pending at a time, and how to cancel a wrong amount.
- The merchant has been approved for live payments before collecting real customer payments.