Introduction
You can connect PassKit Membership or Loyalty cards with Square POS using Make to manage loyalty points and reward customers through Square's discount functionality.
This allows you to run your loyalty programme in PassKit without requiring a Square Loyalty subscription.
In this setup:
PassKit manages your loyalty members, points balances and digital Wallet passes.
Square handles customer transactions and discounts at checkout.
Make connects the two platforms and automates the relevant workflows.
You can use our shared Make scenario as a starting point for setting up the integration.
Before You Start
Before setting up the integration, you will need:
A PassKit Membership or Loyalty program
A Square account with access to Square POS and discounts
A Make account
A decision on how customers earn and redeem loyalty points
For example, you could configure your programme so customers earn 1 point for every £1 spent and can redeem 100 points for a £5 discount.
These are example values and can be adjusted to suit your loyalty programme.
We recommend testing the integration with a test member before using it with customers.
Configure a Voided Customer Group to Prevent Further Redemptions
Before enabling the Make scenario, create a Voided customer group in your Square Customer Directory.
This group will be used to identify customers who have attempted to redeem a reward without having enough loyalty points available in PassKit.
To configure this:
Open your Square Dashboard.
Navigate to Customers → Customer Directory.
Open the Groups section.
Create a new customer group named Voided.
Configure the Make scenario to add customers to this group when they do not have sufficient PassKit points to cover a redemption.
Restrict Discounts to Eligible Customers
When configuring your Square discounts, ensure that only customers who are not in the Voided group are eligible to receive loyalty discounts.
Configure the discount's customer eligibility settings to exclude customers in the Voided group, where supported. If this cannot be enforced through the discount settings, the cashier or checkout process must check the customer's group before applying the discount.
Customers not in the Voided group: Can receive loyalty discounts, provided they meet the normal reward eligibility requirements.
Customers in the Voided group: Should not be eligible for further loyalty discounts.
This helps prevent customers who have previously attempted an invalid redemption from continuing to claim rewards.
Important: The Voided group is managed in Square Customer Directory, not PassKit. Ensure that your discount eligibility settings or checkout process prevent customers in this group from receiving further loyalty discounts.
How the Voided Group Works with Make
When a reward redemption is processed, the Make scenario checks the member's available loyalty points in PassKit.
If the member has sufficient points: The required points are deducted from their PassKit balance, and they remain eligible for future rewards.
If the member has insufficient points: Make adds the corresponding Square customer to the Voided group.
Because the points balance is checked after the Square transaction in this workflow, the initial discount may already have been applied before insufficient points are detected.
However, by adding the customer to the Voided group and excluding that group from future loyalty discounts, you can prevent further invalid redemptions.
This is particularly useful for preventing customers from repeatedly claiming rewards using screenshots of their loyalty cards.
How the Integration Works
The integration can support two main workflows.
Earning Loyalty Points
A customer presents their PassKit loyalty card.
The cashier identifies the corresponding customer in Square.
The customer completes their purchase.
Make detects the completed Square transaction.
The corresponding PassKit member is identified.
The eligible purchase amount is used to calculate the points earned.
The member's PassKit points balance is updated.
Redeeming Loyalty Rewards
A customer presents their PassKit loyalty card.
The cashier checks whether they have enough points for a reward.
The appropriate discount is applied in Square.
The reward redemption is confirmed.
The required points are deducted from the member's PassKit balance.
Important: Applying a discount in Square does not automatically deduct points in PassKit. The redemption must be recorded and the corresponding points update completed.
Step 1: Create Your PassKit Loyalty Program
Open your Membership program in the PassKit Portal and configure the Loyalty Card design.
Ensure the relevant tier supports earning and redeeming points.
Decide how customers will earn points and which rewards will be available.
For example:
Action | Loyalty Rule |
Spend £1 | Earn 1 point |
Redeem 100 points | £5 discount |
Redeem 200 points | £10 discount |
Create a test member and add their pass to Apple Wallet or Google Wallet.
Step 2: Configure Discounts in Square
Create the discounts you want customers to redeem using their PassKit loyalty points.
In your Square Dashboard:
Navigate to your discount settings.
Create a new discount.
Give the discount a name, such as PassKit Loyalty Reward – £5 Off.
Select the appropriate fixed amount or percentage.
Configure any relevant restrictions.
Save the discount.
For example, a reward costing 100 PassKit points could correspond to a £5 discount in Square.
Step 3: Identify Customers Using Their PassKit Loyalty Card
Before purchases can be associated with a loyalty member, you need a way to match customers between PassKit and Square.
One approach is to use the member's PassKit ID (pid) as the Square customer's reference ID.
In the PassKit Designer, configure the barcode to contain:
${pid}This dynamically inserts the member's unique PassKit ID into their barcode.
When creating or synchronising the corresponding customer in Square, store the same ID as the customer's reference ID.
For example:
PassKit | Square |
PassKit ID: | Customer Reference ID: |
This provides a common identifier that can be used to match customer records.
Step 4: Set Up the Shared Make Scenario
You can use our shared Integration Square, PassKit scenario as a starting point for connecting the two platforms.
To get started:
Sign in to your Make account if required.
Create a copy of the scenario in your Make account.
Connect your Square account to the relevant Square modules.
Connect your PassKit account to the relevant PassKit modules.
Configure the scenario to use your Membership or Loyalty program and the correct customer identifiers.
Update the points calculation in the points-earning step to match your loyalty programme's rules. For example, if customers earn 1 point for every £1 spent, configure the calculation accordingly.
Configure the reward redemption filters by adding the names of the discounts you created in Square. Make sure each filter matches the corresponding Square discount and routes the transaction to the correct redemption step.
Review the points deduction amounts for each reward to ensure the correct number of points is deducted when a discount is redeemed.
Save the scenario and test both earning and redeeming points before enabling it.
Before enabling the scenario, review the configuration of each module to ensure it matches your account and loyalty programme.
The following sections explain the customer-matching, purchase-tracking and redemption behaviour your integration needs to support.
Step 5: Match PassKit Members with Square Customers
Make needs to identify which PassKit member corresponds to a Square customer before points can be awarded.
If you use the PassKit ID as the Square customer's reference ID, the same identifier can be used across both platforms.
For new members, a customer synchronisation workflow can:
Detect when a new PassKit member is created.
Check whether a corresponding Square customer already exists.
Create a Square customer if required.
Store the PassKit ID as the Square customer's reference ID.
If the customer already exists in Square, ensure the correct customer record is matched rather than creating a duplicate.
For more information about using the PassKit ID as a Square customer reference, see Make – Enrol Member to Square POS.
Step 6: Track Purchases and Award Loyalty Points
Once customers can be identified across both platforms, Make can be used to award points based on completed Square purchases.
Your purchase-tracking workflow should:
Detect a completed Square payment or order.
Identify the associated Square customer.
Find the corresponding PassKit member.
Calculate the points earned from the eligible purchase amount.
Add those points to the member's existing PassKit balance.
For example, if your loyalty programme awards 1 point for every £1 spent:
A customer spends £15 and currently has 50 points.
Previous balance: 50 points Purchase amount: £15 Points earned: 15 points New balance: 65 points
The member's points balance is updated in PassKit, and the existing Wallet pass receives the update.
Step 7: Redeem Rewards Using Square Discounts
When a member has earned enough points, they can redeem a reward through Square's discount functionality.
For example:
100 PassKit points = £5 off.
For a standard Square POS checkout, the cashier can:
Ask the customer to present their PassKit loyalty card.
Identify the member and check their available points.
Confirm that the member is eligible for the reward.
Apply the corresponding discount in Square.
Complete the transaction.
Confirm the reward redemption and deduct the required points from PassKit.
Deducting Points in PassKit
Once the reward has been successfully applied, the member's points balance must be updated.
For example:
Previous balance: 150 points Reward cost: 100 points New balance: 50 points
This can be handled using a Make workflow or another supported PassKit points update process.
The method used to initiate the points deduction depends on how your checkout and redemption process is configured.
Preventing Duplicate Reward Redemptions
The Make scenario also includes a check to determine whether the member has enough points available to redeem the reward.
Because the member's points balance cannot be checked before the Square transaction is processed in this workflow, the scenario validates the available points afterwards.
If the member has enough points: The scenario processes the redemption and deducts the required points from their PassKit balance.
If the member does not have enough points: The member is moved to a Voided group in Square, preventing their loyalty card from being used for further rewards.
This helps protect against customers reusing an old screenshot of their loyalty card to claim the same reward multiple times.
Important: The points validation takes place after the Square transaction, so the discount may already have been applied before an insufficient balance is detected. Moving the member to the Voided group prevents further use of the affected loyalty card, but does not reverse a discount already applied in Square.
Step 8: Test the Integration
Before enabling the integration for customers, test the complete process.
Test Earning Points
Create a test member in PassKit.
Confirm that the member is matched to the correct Square customer.
Complete a test purchase in Square.
Check that the Make scenario detects the transaction.
Confirm that the correct PassKit member is identified.
Verify that the expected number of points is added.
Check that the Wallet pass displays the updated points balance.
Test Redeeming Rewards
Give the test member enough points to redeem a reward.
Identify the member in Square.
Apply the corresponding Square discount.
Complete the transaction.
Confirm that the reward redemption is recorded.
Deduct the required points from PassKit.
Verify that the points balance is correct.
You should also test what happens when a customer cannot be identified, a transaction is processed twice or a discount cannot be applied.
Make Usage and Costs
Make usage depends on how frequently your scenarios run and how many modules are executed.
For example, a purchase-tracking scenario may perform several operations to retrieve a transaction, identify a member, calculate points and update PassKit.
The number of operations or credits required depends on your scenario configuration, polling frequency and Make plan.
If your business processes a large number of transactions, review your Make usage regularly.
Troubleshooting
Points Aren't Updating After a Purchase
Check that:
The Square transaction was completed successfully.
Make detected the transaction.
The transaction is associated with the correct Square customer.
The Square customer can be matched to a PassKit member.
The points update completed successfully.
Points Are Awarded Twice
Check whether the same Square transaction was processed more than once.
Use the Square payment or order ID to prevent duplicate points updates.
The Customer Cannot Be Found
Confirm that the Square customer reference ID matches the corresponding PassKit member ID.
Also check that the correct customer was associated with the transaction.
The Discount Isn't Applied
Confirm that the discount has been created in Square and is available for the relevant checkout.
If using standard Square POS, check whether the cashier needs to apply the discount manually.
Points Are Deducted but the Discount Wasn't Applied
Check the order in which your redemption actions are performed.
The points deduction should only be completed once the corresponding reward has been successfully applied or confirmed.
If a partial failure occurs, review the transaction and correct the member's points balance where necessary.
Important Notes
PassKit manages loyalty points and Wallet passes.
Square handles purchases and discounts.
Make connects the platforms and automates the relevant workflows.
Square Loyalty is not required for this approach.
Customers must be correctly matched between PassKit and Square.
Use the PassKit ID as the Square customer reference ID where appropriate.
Standard Square POS discounts may require manual action at checkout.
Applying a Square discount does not automatically deduct PassKit points.
Use transaction identifiers to prevent duplicate points updates.
Test the shared Make scenario before enabling it for customers.


