Retail & POS Integration with Gameball Loyalty Program

Integrating Gameball’s loyalty program into your store’s POS system allows you to enhance the customer experience by rewarding loyal shoppers with points, increasing engagement, and driving repeat purchases. Whether you have a mobile app for your customers or not, this integration is designed to accommodate all cases, ensuring that your customers benefit from the same rewarding experience.

Gameball’s Retail & POS integration works seamlessly with your store’s existing system, providing a simple yet powerful way to track, reward, and engage your in-store customers. By embedding the loyalty program directly into your POS system, you eliminate the need for additional apps or platforms while ensuring a smooth and streamlined experience for both your store staff and customers.

The integration enables you to:

  • Create and manage customer accounts: Easily register customers in the system either through manual entry or by linking their existing accounts. You can track loyalty points, purchases, and customer activity in real-time, ensuring accurate and up-to-date information.

  • Link customer orders to their profiles: When customers make purchases, you can link each order to their profile, awarding them loyalty points for every eligible transaction. This encourages customers to return to your store and continue earning rewards.

  • Redeem loyalty points directly via POS: Gameball’s integration with your POS system allows for seamless redemption of loyalty points at checkout, providing an instant reward to customers. The redemption process can be handled entirely by the POS clerk, without needing an app or a third-party system.

    In this scenario, we will explore two methods of integration:

    1. Basic Integration without QR Codes – This is for stores that wish to keep the process simple by identifying customers solely through a unique identifier (like a customer ID).

    2. Advanced Integration with QR Codes for Enhanced Security – This is ideal for stores that want an added layer of security, using a hash-generated QR code for customer verification.

This guide will walk you through how to seamlessly incorporate Gameball’s loyalty program into your Retail & POS system, enabling you to:

  1. Create and manage customer accounts to track loyalty points.

  2. Link customer orders to their profiles, ensuring they earn points based on their purchases.

  3. Redeem loyalty points directly through your POS system at the counter, ensuring a smooth transaction process without requiring additional tools or apps.

By the end of this guide, you’ll have the tools and knowledge to integrate the Gameball loyalty program into your POS system, allowing you to engage customers and offer rewards directly during their in-store visits.


Step 1: Create a Customer Profile or Retrieve an Existing One

The first thing a clerk needs to do when a customer is paying for an order is ask them for their unique identifier. This could be their email, mobile phone number, or any other identifier that works for your store. This identifier will help link the customer to their loyalty profile.

For New Customers:

If the customer is visiting your store for the first time, the POS system will need to create a new profile for them in Gameball. This can be done through a button on your POS system that calls the Create Customer API in the background. The clerk will input the customer's details (e.g., name, email, or phone number), and the system will automatically create a customer profile in the background.

Request Example:

{
  "customerId": "customer_email_or_phone",
  "name": "John Doe",
  "email": "john.doe@example.com"
}

For Returning Customers:

If the customer is a returning one, simply retrieve their loyalty balance using the Get Customer Balance API. This will display the available points the customer has earned, and the clerk can use this to check how many points the customer can redeem.

Response Example:

When the clerk retrieves a customer's balance at checkout, the API response might look like this:

{
    "totalPointsBalance": 1500,
    "totalPointsValue": 150.0,
    "availablePointsBalance": 1200,
    "availablePointsValue": 120.0,
    "pendingPoints": 300,
    "pendingPointsValue": 30.0,
    "currency": "USD",
    "pointsName": "Reward Points",
    "nextExpiringPointsAmount": 200,
    "nextExpiringPointsValue": 10.0,
    "nextExpiringPointsDate": "2024-12-01T00:00:00",
    "totalEarnedPoints": 2500
}

This response provides detailed insight into the customer’s reward status:

  • Available Points Balance: The customer currently has 1,200 points (valued at $120) ready to use.

  • Pending Points: An additional 300 points (valued at $30) are pending and will be available soon.

  • Next Expiring Points: The customer has 200 points (valued at $20) set to expire on December 1, 2024.

  • Total Earned Points: So far, the customer has earned a total of 2,500 points through purchases and activities.


Clerk Tip

To make the experience engaging and motivate the customer, the clerk can highlight:

  • Current Available Points: “You have 1,200 points available now, valued at $120!”

  • Expiring Points: “Don’t miss out—200 of these points will expire by December 1, 2024. Would you like to redeem them today?”

This not only encourages the customer to redeem points but also creates a sense of urgency, making them feel valued for their loyalty.


Once the customer profile is retrieved or created, the next step is to link the order to that customer profile, ensuring that they can earn loyalty points for their purchase.

Steps to Follow:

  • When the customer places an order, the clerk will link the order to the customer by using the Create Order API. This API needs the customerId to associate the order with the customer you already have on your system.

  • The system will automatically calculate the loyalty points based on the order value, and these points will be added to the customer’s profile.

Request Example:

{
  "customerId": "cust_123456789",
  "email": "john.doe@example.com",
  "mobile": "+1234567890",
  "orderId": "ORD12345",
  "orderDate": "2024-10-16T08:13:29.290Z",
  "totalPaid": 300,
  "totalPrice": 300,
  "totalDiscount": 0,
  "totalShipping": 10,
  "totalTax": 15
}

Step 3: Redeeming Loyalty Points at Checkout

If the customer wants to use their loyalty points as a discount on their order, the clerk needs to check their available points and apply the redemption.

Steps to Follow:

  1. Get the Customer’s Points Balance: Use the Get Customer Balance API again to display the available points the customer has to redeem.

  2. Hold Points for Redemption: If the customer wants to redeem points, the clerk should use the Hold Points API to reserve the required number of points. This ensures the points are set aside in a hold session preventing accidental double-spending or fraudulent activity.

    Request Example:

    {
      "customerId": "cust_abc12345xyz67890",              
      "transactionTime": "2024-10-11T16:15:15.071Z",                    
      "pointsToHold": 50
    }

    Response Example:

    The hold reference returned by this API is used in the next step to apply the redemption.

    {
        "customerId": "cust_abc12345xyz67890",
        "holdAmount": "5",
        "holdEquivalentPoints": 50,
        "holdReference": "a2a199ad-86f3-45c4-8253-7aaee50e4798"
    }

    Clerk Tip

    At this stage, inform the customer about the points being applied and their equivalent discount. This reassurance enhances their trust in the process. For instance:

    • "I’ve reserved 50 points, which translates to a $5 discount on your order!"

  3. Apply Points to Order: Finally, apply the points to the customer’s order by calling the Order API, This step deducts the discount corresponding to the redeemed points from the totalPaid amount, reflecting the adjusted payment the customer owes after applying the discount.

    • totalPaid: This field should represent the amount the customer pays after the discount. For example, if the points held are equivalent to a $5 discount( from the response of the hold points Api previously sent), and the total price of the order is $300, the totalPaid would be $295.

    • totalPrice: This field remains unchanged as it represents the original total price of the order before any discounts.

    Request Example:

    {
      "customerId": "cust_123456789",
      "email": "john.doe@example.com",
      "mobile": "+1234567890",
      "orderId": "ORD12345",
      "orderDate": "2024-10-16T08:13:29.290Z",
      "totalPaid": 295,
      "totalPrice": 300,
      "totalShipping": 10,
      "totalTax": 15,
      "redemption": {
        "pointsHoldReference": "a2a199ad-86f3-45c4-8253-7aaee50e4798",
      }
    }

    Response Example:

    Key Details for Order Response

    1. Redeemed Points: Indicates the points used for the discount.

    2. Rewarded Points: Reflects the points earned from the purchase.

    {
        "customerId": "cust_123456789",
        "redeemedPoints": 50,
        "rewardedPoints": 295
    }

    Clerk Tip

    • Let the customer know how many points they redeemed and how many they’ve just earned! For example:

      • "You’ve redeemed 50 points for this order and earned 295 points for your next visit!"


Optional Step: Adding QR Code Verification (For Enhanced Security)

If you'd like to enhance security during customer verification or your store lacks a seamless way to identify customers, integrating QR code verification is an excellent option. This method allows customers to present a QR code tied to their profile, which clerks can scan to quickly and securely fetch customer information, reducing the risk of errors or misuse.

The QR code is generated on the customer’s side via the mobile app, not the clerk’s system. The QR code contains both the customer’s unique identifier and a secure rotating hash, which is validated during the order process.

Hint for Implementation:

  • Mobile App: If your store has a mobile app, ensure customers can log in and generate their QR code for in-store use.

  • No Mobile App? Check the Gameball virtual pass section for a solution tailored to your store’s needs, such as Gameball's Virtual Card feature.


How to Implement QR Code Verification for Secure Customer Identification

Prerequisites:

  1. A mobile app for your store where customers can log in and access their account and QR code.

  2. QR Code readers at your POS checkout points capable of scanning customer mobile screens.


The Process of Generating and Validating the QR Code

  1. Generate the Customer’s Secure Hash The first step in generating a secure QR code involves creating a unique hash for the customer using Generate Customer Hash API . The hash is linked to the customer’s unique identifier and rotates based on their activity. This ensures that even if the customer uses the same identifier, the hash is different for each transaction to increase security.

    Response Example:

    This API call returns a temporary secret hash for the customer.

    {  
      "hash": "123456"
    }

  2. Generate the QR Code in the App After retrieving the hash, the QR code is created in your app by concatenating the customer’s customerIdand the generated hash. This string, which looks like customerId-hash, is encoded into a QR code that can be displayed on the customer’s mobile on your store application.

    Example QR Code Value: If the customer's unique identifier is 01000100010 and their generated hash is 123456, the QR code value will be:

    01000100010123456

  3. Display the QR Code in Your App The QR code for customer identification is displayed directly in the customer’s account within your mobile app. This code is ready to be scanned by the POS clerk when the customer checks out. The process is simple and secure: customers just need to open their mobile app, where the QR code will be shown on their account page.

    To further enhance the customer experience, you can use the Get Redemption Configuration API to retrieve all available redemption rules and display them in your mobile application. This allows you to provide customers with a variety of redemption options, not just direct discounts. Redemption rules could include:

    • Free Products: Customers can redeem their points for a free product from your store.

    • Percentage Discount Coupons: Customers can use their points to get a percentage off on their orders.

  4. Scan the QR Code at Checkout When the customer presents the QR code at the POS, the clerk scans it using the POS QR code reader. The QR code contains the customer's unique identifier (customerId) and the current hash.

  5. Parse the QR Code Value The POS system will read the QR code value and split it into two parts:

    • customerId: This is the first part of the QR code string (e.g., 01000100010).

    • hash: This is the last 6 digits (e.g., 123456).

    Code Example for Parsing:

    var inputCode = '01000100010123456';
    var hash = inputCode.slice(-6);  // Extract hash
    var customerId = inputCode.slice(0, -6);  // Extract customerId

  6. Verify the Customer’s Identity and Retrieve Profile Once the POS system has the customerId and hash, it can proceed to verify the customer’s identity by using the customerId to fetch their profile and balance.

  7. Hold Points and Process the Order The POS will use the hash to securely hold the customer’s points and validate the transaction when the customer chooses to redeem points. The hash must be included in the Hold Points API requests to ensure the transaction is authentic and associated with the correct customer.

    Request Example:

    {
      "customerId": "010001000101",              
      "transactionTime": "2024-10-11T16:15:15.071Z",                     
      "pointsToHold": 1000,                                              
      "hash": "123456"
    }

  8. Complete the Checkout Process The POS system will finalize the order by including the holdReference from the Hold points API in the Order API request.


Gameball’s Virtual Pass: In-store Engagement Without a Mobile App

If you don’t have your own mobile application, don’t worry—Gameball’s Virtual Pass offers a complete solution to securely and discreetly identify your customers at your in-store POS. With this solution, you can still provide a seamless in-store experience, all without the need to develop or maintain a custom mobile app.

What is Gameball’s Virtual Pass?

Gameball's Virtual Pass is an easy-to-use, branded pass that customers can access through their smartphones. This virtual pass enables customers to check their profile, points balance, and engage with your rewards program directly from their mobile devices.

  • Apple Wallet Support (iOS): Customers with iOS devices can save their virtual pass directly to Apple Wallet, where they can easily access it, view their profile and balance, and receive push notifications on any updates or changes to their account.

  • PassWallet Integration (Android): Android users can download their virtual pass into the PassWallet app, providing the same seamless access to their profile and receiving notifications about any updates or changes to their rewards balance.

Features of Gameball’s Virtual Pass

  • Custom Branding: Gameball allows you to customize the virtual pass with your store’s branding, colors, and icons, creating a personalized experience for your customers.

  • Push Notifications: Customers will receive real-time push notifications when there are updates to their points balance, profile changes, or other program-related updates, ensuring they are always informed about their loyalty progress.

  • Program Information and Store Updates: Your customers can access relevant program information, store updates, and useful links, such as contact details or store promotions, directly through their virtual pass.

How Does It Work?

  1. Download and Registration: Your customers can download their Virtual Pass from a branded onboarding website provided by Gameball. This registration flow guides them through the process of creating their account and accessing their Virtual Pass.

  2. In-store Engagement: Once the customer has their Virtual Pass, they can present it at the POS for identification and points redemption. The QR code within the pass can be scanned by your POS system to verify the customer’s identity, securely using their unique identifier and hash (as outlined in the QR code integration guide).

For more information on how to integrate Gameball's Virtual Pass into your in-store experience, contact our support team today!


Summary

Integrating Gameball with your Retail & POS system is straightforward and enhances the customer experience. With just a few API calls, you can seamlessly create customer profiles, link orders, and manage loyalty points. Whether you’re using simple identifiers or adding an extra layer of security with QR codes, this integration offers a flexible solution for all types of stores.

Last updated