Cash register integration
In many store setups, shoppers may be able to scan products themselves but then need to complete payment at a traditional staffed register (instead of using a digital payment on the app directly). shopreme enables this hybrid flow through the Pay at Cash Register (PAC) integration.
This article outlines when PAC integration is necessary, what it enables, how it operates, and who typically supports it on the retailer’s side.
Why this integration is important
Pay At Cash Register (PAC) lets a shopper hand over their Scan & Go shopping basket to a cashier using a QR code. This creates a familiar checkout experience while still reducing friction and wait times.
✅ This process must be integrated with the retailer’s POS system and is only required when “Pay at Cash Register” is offered as a payment option.
From a technical standpoint, PAC ensures:
The cash register can retrieve the shopper’s basket
The Scan & Go app locks the basket during checkout
The shopreme backend is notified when payment is complete or canceled
Optional: in-store audits (spot checks) and age verification are enforced, handled either by shopreme Supervisor or on the cash register.

How the cash register flow works
1. Basket handover
At checkout, the Scan & Go app shows a QR code with a unique Transaction ID. The cash register scans this to retrieve the basket using one of two endpoints:
Option | When to use |
|---|---|
| Use this when the basket is finalized, including prices |
| Use this when the cashier may modify items or prices |
Once the basket is handed over:
The shopper’s app enters a lock state
The screen displays “Follow the instructions at the cash register”
Modifications are blocked until /confirm or /cancel is called
📌 Note: The QR code used at this step also encodes the Transaction ID used for spot checks. The POS must handle a “Selected for Spot check” flag in the response from shopreme to avoid bypassing the basket verification.
2. Optional: Basket modifications
If the basket was fetched via /unevaluatedBasket, the cashier is allowed to:
Add/remove items
Modify quantities
Apply in-store promotions
These changes must be reflected in the final confirmation call (next step), so that the Scan & Go app and the shopreme analytics reflect the correct and updated information about this purchase (total price and total number of products).
3. Confirming or canceling payment
Once the shopper starts the payment process at the cash register:
Option | When to use |
|---|---|
| Notifies shopreme of success and optionally updates basket content |
| Unlocks the app and it returns to the cart view |
The confirmation endpoint accepts:
transactionIdtotalPrice(amount paid at the register)(Optional) updated basket positions
(Optional) PSP transaction ID and payment method
(Optional) additional metadata used for analytics or reconciliation
📌 Note: shopreme does not generate a receipt in this case. The cash register is expected to handle all fiscal documentation.
Integration requirements
To implement PAC, your cash register system must:
Be able to scan a Transaction ID from the app, in a linear barcode (Code128) or QR code format
Support API calls to the shopreme DataHub (secured via API token)
Retrieve the basket via
/evaluatedBasketor/unevaluatedBasketSend a confirmation or cancellation response
Who sets this up?
PAC integration usually involves collaboration between:
POS system integrators – to add shopreme API calls into the checkout flow
IT or middleware teams – to enable network access to the shopreme DataHub
In-store operations – to configure training and UX behavior.
shopreme © 2025