Skip to main content

Static QR to app

Also covered in In-person payments

This flow is also documented in In-person payments → Static QR → Merchant Callback QR, which covers unmanned location scenarios including vending machines, trust shops, and self-service kiosks.

Customer scans a static QR code posted on the vending machine, approves a maximum amount in their app, makes their product selection, and is charged only for what they selected.

User scans QR, pays, and gets receipt

  1. Customer scans QR - Customer scans the merchant callback QR code posted on the vending machine.
  2. Receive callback - Your system receives a webhook with the customer token.
  3. Initiate payment - Send payment request for the maximum amount (most expensive item) with userFlow: "WEB_REDIRECT".
  4. Customer authorizes - Customer approves the reserved amount in their app.
  5. Customer makes selection - Customer selects the product on the vending machine.
  6. Capture actual amount - Capture only the amount for the selected product (partial capture).
  7. Cancel remaining - Release the unused reserved amount.
Use when you don't have a screen

This flow works for unmanned locations without customer-facing screens where you can't display a dynamic QR code.

Regulatory requirement

Per regulations, specify "customerInteraction": "CUSTOMER_PRESENT".

View sequence diagram

Static QR directing to the app

Technical details​