Redemption lets a customer spend their points to reduce what they pay. It builds directly on Track Orders: you add a hold step that locks the points, then submit the same order call with a reference to that hold. The hold prevents double-spending and guarantees the points are reserved for this transaction only.
If you haven’t implemented Track Orders yet, do that first. Redemption is the order call plus one extra step.
Holds are time-limited (typically 10 minutes). If the order isn’t completed in time, the points are automatically released back to the customer. Don’t reuse or delay using a holdReference.
This is the standard Track Orders call with one addition, a redemption block carrying the hold reference. Note that totalPaid reflects the discounted amount:
Behind the scenes, Gameball verifies the hold reference, deducts the redeemed points, and rewards new points based on the amount actually paid after redemption, then updates the customer’s redemption and earning history.
The flow above, where the customer is identified by customerId (mobile number, email, or CRM ID) and you hold then redeem against their balance.
Instead of typing a phone number, the cashier scans a QR code the customer shows from their Gameball widget/app or their Virtual Pass. The QR encodes both who the customer is and a one-time security token, so the customer is identified and verified in a single scan, no separate lookup needed.
The hash is a rotating, single-use security token, it changes regularly and expires. Only send it in the Hold Points call, and never store or reuse an old hash. If a scan fails validation, ask the customer to refresh their QR code and scan again.
The same hash can also be generated server-side via the Get Customer Hash API if you need to validate a customer without a live scan.
Gameball Virtual Pass lets customers use QR codes without a mobile app. The pass lives in Apple Wallet (iOS) or PassWallet (Android) and behaves exactly like an app-based QR code.
No additional API integration needed, use the same QR flow above.
Ensure your POS scanners can read digital screens and long string formats.