Skip to main content

QR to site (payment only)

Also covered in In-person payments

This variant is similar to the flow documented in In-person payments → Static QR → Merchant Redirect QR. The main guide covers the recommended approach where customers select products on your website.

Customer scans a static QR code posted on the vending machine, is redirected to your payment page, makes selection on the vending machine, and completes payment on your website.

User scans QR, pays, and gets receipt

  1. Customer scans QR - Customer scans the merchant redirect QR code posted on the vending machine.
  2. Redirect to payment page - Customer lands on your payment page linked to that specific vending machine.
  3. Customer selects product - Customer makes their selection on the physical vending machine.
  4. Initiate payment - Create payment request with the selected amount using userFlow: "WEB_REDIRECT".
  5. Customer authorizes - Customer approves payment in their app.
  6. Capture payment - Confirm the transaction is complete.
Use when customers select on the machine but pay on your website

This flow works when you don't have a customer-facing screen and want customers to make physical selections on the vending machine but complete payment through your website.

Regulatory requirement

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

View sequence diagram

Static QR directing to the merchant site

  1. QR API scans for the customer ID.
  2. Merchant adds the product to the sale.
  3. Merchant initiates a payment request with order details via the ePayment API.
  4. ePayment API requests payment from the customer.
  5. Customer clicks pay.
  6. Webhooks API sends the merchant a webhook with the payment authorization status.
  7. Merchant captures the payment via the ePayment API.
  8. ePayment API returns the status of the capture.
  9. Merchant verifies that the POS status matches the capture.

Technical details​