Skip to main content

Scan a loyalty card using Square

Learn how to scan a digital loyalty card when using Square POS

Written by Paul Tomes

Introduction

You can use PassKit Membership or Loyalty cards with Square Point of Sale (POS) to quickly identify customers by scanning their digital Wallet pass.

By storing the member's PassKit ID (pid) as the Reference ID in Square Customer Directory, Square can identify the corresponding customer when their PassKit card is scanned.

This works without a Square Loyalty subscription, making it useful for businesses that want to identify customers at checkout while managing their loyalty programme separately in PassKit.

Watch the video below to see how to scan a digital loyalty card using Square POS, then follow the instructions to configure the integration.

Video

Before You Start

You will need:

  • A PassKit account

  • A Square account

  • A Make or Zapier account to synchronise customer records between PassKit and Square.

  • A barcode scanner compatible with your Square POS setup, if you intend to scan physical or digital barcodes

Note: A Square Loyalty subscription is not required to scan a PassKit card and identify the corresponding customer in Square


How It Works

The integration uses the member's unique PassKit ID (pid) to match customer records between PassKit and Square.

  1. A customer enrols in your PassKit Membership or Loyalty program.

  2. PassKit creates the member and assigns them a unique PassKit ID.

  3. Make or Zapier creates or updates the corresponding customer in Square.

  4. The PassKit ID is stored in the Square customer's Reference ID field.

  5. The customer presents their PassKit card in Apple Wallet or Google Wallet.

  6. The cashier scans the barcode containing the PassKit ID.

  7. Square identifies the corresponding customer using their Reference ID.

For example:

PassKit

Square

PassKit ID: abc123456

Reference ID: abc123456

The values must match for the customer to be identified correctly.


Step 1: Design Your PassKit Card

Open your Membership program in the PassKit Portal and navigate to the Designer.

Configure your Membership or Loyalty Card design.

In the barcode settings, set the barcode content to:

${pid}

The ${pid} variable dynamically inserts the unique PassKit ID of the member into their barcode.

Each member will therefore have a barcode containing their own PassKit ID.

Important: The barcode must contain the member's PassKit ID because this is the value that will be stored in the Square customer's Reference ID field.


Step 2: Configure Your Data Collection Form

Next, configure your PassKit data collection form to capture the customer information you want to store in Square.

For example:

  • First name

  • Last name

  • Email address

  • Phone number

These details can be passed to Square when the customer is created through Make or Zapier.


Step 3: Prevent Duplicate Enrolments

To help prevent customers from enrolling multiple times, configure the External ID Autofill setting in your PassKit program.

You can use a unique customer field, such as:

  • Email Address

  • Phone Number

This allows PassKit to use the selected field as the member's External ID.

For example, if you select Email Address, attempting to enrol again using the same email address should result in an External ID conflict rather than creating another member with the same External ID.

Important: If you plan to use Square discounts with PassKit loyalty points, the External ID in PassKit must be set to the Square Customer ID so would needs to be left blank


Step 4: Connect PassKit and Square Using Make or Zapier

You can use Make or Zapier to automatically create a Square customer when a new member enrols in PassKit.

This ensures that the member's PassKit ID is available in Square for barcode scanning.

Using Make

You can use our existing Make template as a starting point:

Note: Use this scenario if you plan on using points redemption with Square Discounts as shown here.

To configure the integration:

  1. Open the Make template.

  2. Sign in to your Make account.

  3. Create a copy of the scenario.

  4. Connect your PassKit account.

  5. Connect your Square account.

  6. Configure the PassKit trigger to watch for newly created members.

  7. Map the member information to the corresponding Square customer fields.

  8. Map the PassKit ID (pid) to the Square customer's Reference ID field.

  9. Save and enable the scenario.

Using Zapier

You can also create a similar automation using Zapier.

The workflow should:

  1. Detect when a new PassKit member is created.

  2. Retrieve the member's PassKit ID and customer details.

  3. Create or update the corresponding customer in Square.

  4. Store the PassKit ID in the Square customer's Reference ID field.

The most important mapping is:

PassKit ID (pid) → Square Customer Reference ID

Important: If the customer already exists in Square, ensure their Reference ID is updated with the correct PassKit ID rather than creating a duplicate customer record.


Step 5: Scan the Loyalty Card in Square POS

Once the customer has been created in Square and their Reference ID matches their PassKit ID, you can test scanning their digital loyalty card.

  1. Open Square POS.

  2. Ask the customer to open their PassKit Membership or Loyalty card in Apple Wallet or Google Wallet.

  3. Scan the barcode displayed on the pass.

  4. Square uses the barcode value to identify the corresponding customer.

  5. Confirm that the correct customer record is displayed.

This allows staff to identify customers without manually searching for their name, email address or phone number.


Using the Scanned Card with Square Loyalty

If you also use Square Loyalty, you can use the PassKit card to identify the customer at checkout.

However, scanning the PassKit card and recording Square Loyalty activity are separate actions.

Scanning the barcode retrieves the matching customer record using the Square Reference ID, but does not automatically register a Square Loyalty check-in or award Square Loyalty points.

If you want to use Square Loyalty, you will need to complete the additional Square Loyalty steps required to associate the transaction with the customer's loyalty account and record the relevant loyalty activity.

Note: Square Loyalty is optional. If you manage loyalty points in PassKit instead, you can use Make to track Square purchases and update PassKit points without subscribing to Square Loyalty.


Testing the Integration

Before using the integration with customers, we recommend completing the following tests.

Test 1: New Member Enrolment

  1. Open your PassKit enrolment form.

  2. Enrol a new test member.

  3. Confirm that the member is created in PassKit.

  4. Check that Make or Zapier detects the new member.

  5. Open Square Customer Directory.

  6. Confirm that the corresponding customer was created.

  7. Verify that the Square customer's Reference ID matches the member's PassKit ID.

Test 2: Scanning the Card

  1. Add the test member's pass to Apple Wallet or Google Wallet.

  2. Open Square POS.

  3. Scan the barcode on the pass.

  4. Confirm that the correct customer record is identified.

  5. Test an incorrect or unrecognised barcode to verify how your checkout process handles it.

Test 3: Staff Training

Make sure staff understand how to:

  • Scan a PassKit loyalty card.

  • Confirm the correct customer has been identified.

  • Handle customers whose cards cannot be scanned.

  • Search for customers manually when necessary.

  • Complete any additional loyalty or redemption actions required by your setup.


Troubleshooting

Square Cannot Find the Customer

Check that:

  • The customer exists in Square Customer Directory.

  • Their Reference ID contains the correct PassKit ID.

  • The barcode on the PassKit card contains ${pid}.

  • The barcode scanner is compatible with your Square POS setup.

The Wrong Customer Is Identified

Confirm that each Square customer has the correct PassKit ID stored in their Reference ID field.

Also check that your automation has not associated multiple PassKit members with the same Square customer.

The Customer Exists in PassKit but Not in Square

Check that your Make or Zapier automation ran successfully when the member was created.

Review the Square customer creation step and confirm that the required customer information was supplied.

Square Loyalty Points Aren't Awarded

Scanning the PassKit card identifies the Square customer but does not automatically trigger Square Loyalty activity.

If you use Square Loyalty, check that the additional loyalty action has been completed and that the transaction is associated with the correct loyalty account.

The Barcode Doesn't Scan

Check the barcode configuration in the PassKit Designer and confirm that the barcode contains the member's PassKit ID.

Also verify that your scanner can read the barcode format displayed on the Wallet pass.


Important Notes

  • Square Loyalty is not required to scan PassKit Membership or Loyalty cards.

  • The PassKit barcode must contain ${pid}.

  • The Square customer's Reference ID must match the member's PassKit ID.

  • Make or Zapier can be used to synchronise customer information between PassKit and Square.

  • Scanning a PassKit card identifies the corresponding Square customer.

  • Scanning alone does not automatically record a Square Loyalty check-in or award Square Loyalty points.

  • If you use Square Loyalty, additional loyalty actions may be required.

  • If you manage points in PassKit, you can use Make to update loyalty balances based on Square transactions.


Promote Your Program

Once you've successfully tested the integration, share your PassKit enrolment form link with customers so they can register for your Membership or Loyalty program.

When a new member enrols, your Make or Zapier automation can create their corresponding Square customer record, allowing their PassKit card to be used for customer identification at checkout.

Did this answer your question?