Skip to main content
This guide helps merchants choose the appropriate QFPay APIs when integrating unattended machines, vending kiosks, ticketing terminals, smart lockers, and other self-service retail solutions. Many self-service deployments require a combination of multiple QFPay APIs rather than a single integration.

Suitable For

This integration scenario is recommended for merchants operating:
  • Vending machines
  • Self-service kiosks
  • Smart lockers
  • Ticketing machines
  • Parking payment terminals
  • Self-checkout terminals
  • Other unattended retail devices

Typical Setup

A typical self-service environment may include:
  • A customer-facing display
  • A QR code scanner (optional)
  • A connected or embedded QFPay POS terminal
  • A merchant backend for order creation and reconciliation

Example Solution

Self-Service Payment Flow

A common self-service payment scenario where customers purchase products or services directly from an unattended machine.
  1. Customer selects products or services.
  2. The merchant backend creates an order and calculates the payable amount.
  3. For wallet payments, callMerchant Present Mode (MPM)to generate a dynamic payment QR code.
  4. For card or Octopus payments, call POS API to initiate payment on the connected QFPay POS terminal.
  5. The merchant backend receives the payment result through Asynchronous Notifications.
  6. If necessary, verify the payment result using Transaction Enquiry.
  7. Dispense goods or provide the requested service only after payment has been confirmed successfully.

Best Practices

Always confirm the payment result before dispensing goods or providing services.QFPay recommends:
  • Use Asynchronous Notifications as the primary mechanism for receiving payment results.
  • Use Transaction Enquiry whenever the payment status is uncertain.
  • Never rely solely on customer actions or terminal responses to determine payment success.
  • Release goods only after the transaction has been confirmed successfully.
This helps prevent revenue loss caused by network interruptions, delayed notifications, or uncertain payment states.
Design your machine to handle payment failures, timeouts, and communication interruptions gracefully. Customers should always receive clear status updates, and unfinished transactions should be recoverable by the merchant backend.

Merchant Present Mode (MPM)

Generate dynamic QR codes for customer wallet payments.

POS API

Trigger card and Octopus payments on QFPay POS terminals.

Consumer Present Mode (CPM)

Scan customer wallet barcodes for payment collection.

ECR Integration

Connect merchant systems with QFPay POS terminals.

Transaction Enquiry

Query transaction status to confirm payment results.

Asynchronous Notifications

Receive real-time payment notifications from QFPay.

Next Steps

Once you have identified the appropriate integration methods for your self-service solution, continue with the corresponding API documentation to begin implementation.