Skip to content

Terminal (QR) mode

When a payment page is shown on an unattended device without banking apps installed — a kiosk, a POS terminal — deep links into banking apps are useless. What you need instead is the QR code itself, displayed large and front and center. Hosted pages support the view=only-qr query string for exactly this.

Supported pages

  • Invoices: the invoice page.
  • Checkout: the payment page.

How to use it

Append the view=only-qr parameter to the page URL:

https://byl.mn/h/invoice/9054/7ejYGGc0zOLa0cwWvmI33uc1ct1XzJVb?view=only-qr
https://byl.mn/h/checkout/19157/jhhXr5H9?view=only-qr

In this mode the page behaves as follows:

  • Bank app buttons are hidden — regardless of screen size, only the QPay QR code is shown, at full size.
  • The page checks for payment continuously. In normal mode automatic polling stops after a while; in terminal mode it keeps going until the payment is made.
  • When the QR code expires, the page automatically generates and displays a fresh QR — a stale, unpayable QR is never left on the terminal screen.

It can be combined with the theme parameter:

https://byl.mn/h/invoice/9054/...XzJVb?view=only-qr&theme=light

Invoice page

As soon as the page opens with view=only-qr, it creates a QPay payment automatically — no payment method selection, no buttons to press — and displays the QR code right away.

If QPay is not enabled on the project, the page falls back to the regular payment method selection screen.

Checkout page

Checkout includes a confirmation step (email, payment method), so view=only-qr applies to the payment step: the page shown after pressing "Continue" displays only the QR code. The parameter carries over automatically from the confirmation step to the payment step.

Note: any view value other than only-qr is ignored and the page works in its normal mode.