Skip to main content

Updating Existing Membership Cards After Changing Card Designs

Learn how to remove an existing profile image from the Google Wallet design after changing from a Membership Card to a Loyalty Card design.

Written by Claudia

When changing an existing Membership program from a Membership Card design to a Loyalty Card design, existing passes will update to use the new design.

However, on Google Wallet, an existing member's profile image may continue to appear after the design has changed.

This can happen when the member was originally issued with a profile image while using the Membership Card design. Changing the card design does not always remove previously issued member-specific images from the existing Google Wallet pass.

If this happens, an additional update needs to be sent to the affected member to:

  1. Clear the existing profile image.

  2. Apply the new strip image using passOverrides.imageIds.strip.

You do not need to issue a new pass or ask the member to enrol again.

Before You Start

Before updating existing members:

  • Complete and save your new Loyalty Card design.

  • Select the strip image you want to use with the new design.

  • Check an existing pass in Google Wallet after saving the design.

  • Confirm whether the previous profile image is still displayed.

We recommend testing the update with a single member before applying it to multiple existing members.

Step 1: Change to the Loyalty Card Design

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

Change the card from a Membership Card design to a Loyalty Card design and configure the new design as required.

Select the strip image you want to use and save your changes.

Existing passes will receive the updated design. However, an existing profile image may remain on the Google Wallet version of the pass.

Step 2: Check an Existing Pass

Open an existing member's pass in Google Wallet after changing the design.

If the member previously had a profile image, check whether that image is still visible.

If the pass displays the new Loyalty Card design correctly and the old profile image has been removed, no additional action is required.

If the old profile image remains, continue with the steps below.

Note: This additional update is only required for existing passes where the previous profile image continues to appear on Google Wallet.

Step 3: Find the Strip Image ID

Before updating the member, you will need the image ID of the strip image used by your new Loyalty Card design.

To find the image ID:

  1. Open your Membership program in the PassKit Portal.

  2. Open the relevant tier in the Designer.

  3. Navigate to the Template section.

  4. Locate the strip image used by your Loyalty Card design.

  5. Copy the image ID.

You will use this value for:

passOverrides.imageIds.strip

The value must be the PassKit image ID, not the image URL.

Step 4: Update the Existing Member

Send an update to the affected member using the PassKit Membership API. You can use an API client such as Postman to test the update with a single member.

The update needs to:

  1. Clear the existing profile image.

  2. Apply the new strip image using passOverrides.imageIds.strip.

Set Up the Request in Postman

Open Postman and create a new request using:

PUT

Use the Membership API endpoint for your account region.

Europe

https://api.pub1.passkit.io/members/member

United States

https://api.pub2.passkit.io/members/member

You can check your API region under Account → Developer Tools → API Region in the PassKit Portal.

Add Your API Token

In Postman, open Authorization, select Bearer Token, and enter your PassKit API token.

Postman will add:

Authorization: Bearer YOUR_API_TOKEN

Important: Keep your API token private. Do not include it in screenshots, shared Postman collections or source control.

Add the Request Body

Open Body, select raw, then select JSON.

Set profileImage to an empty value to explicitly clear the existing profile image:

{   "profileImage": "" }

Leaving profileImage out of the request does not explicitly clear the existing value.

Use passOverrides.imageIds.strip to apply the replacement strip image:

{   "passOverrides": {     "imageIds": {       "strip": "YOUR_STRIP_IMAGE_ID"     }   } }

Both changes should be included in the same API request:

{   "programId": "YOUR_PROGRAM_ID",   "externalId": "YOUR_EXTERNAL_MEMBER_ID",   "profileImage": "",   "passOverrides": {     "imageIds": {       "strip": "YOUR_STRIP_IMAGE_ID"     }   } }

Replace:

  • YOUR_PROGRAM_ID with your Membership program ID.

  • YOUR_EXTERNAL_MEMBER_ID with the external ID of the member you are updating.

  • YOUR_STRIP_IMAGE_ID with the strip image ID copied from the Template section of the Designer.

Before sending the request, confirm your Postman configuration:

Method: PUT
Endpoint: https://api.pub1.passkit.io/members/member for Europe or https://api.pub2.passkit.io/members/member for the United States
Authorization: Bearer Token
Body: raw JSON

Send the Update

Click Send.

If successful, PassKit will update the existing member record and push an update to their Wallet pass.

You do not need to create a new member or ask the member to enrol again. Continue to Step 5 to check that the updated pass displays correctly in Google Wallet.

Using passOverrides for Member-Specific Images

passOverrides.imageIds can also override supported Google Wallet images for an individual member without changing the underlying template or affecting other members.

For example:

{   "passOverrides": {     "imageIds": {       "strip": "YOUR_STRIP_IMAGE_ID"     }   } }

If no member-specific override is provided, the pass will continue to use the image configured in the template.

For the Membership Card to Loyalty Card design change described in this article, use passOverrides.imageIds.strip.

Step 5: Check the Updated Pass

Once the member update has been processed, open the existing pass in Google Wallet.

Confirm that:

  • The previous profile image has been removed.

  • The Loyalty Card design is displayed.

  • The new strip image is displayed correctly.

  • The member's existing details remain correct.

  • The barcode and other pass functionality continue to work as expected.

The member should not need to remove and reinstall their pass.

Note: Wallet updates may not appear immediately. Allow time for Google Wallet to receive and display the updated pass.

Updating Multiple Existing Members

If multiple existing members are affected, test the update with a single member first.

For each affected member:

  1. Set profileImage to blank.

  2. Set passOverrides.imageIds.strip to the required strip image ID.

  3. Send the member update.

  4. Check the updated pass in Google Wallet.

If all affected members should display the same strip image, the same strip image ID can be used for each update.

Once you have confirmed that your test member displays correctly, you can apply the same process to the remaining affected members.

Troubleshooting

The Old Profile Image Is Still Showing

Confirm that the member update explicitly includes:

{   "profileImage": "" }

Leaving profileImage out of the update does not explicitly clear the existing value.

Also allow time for Google Wallet to receive and display the update.

The Strip Image Isn't Showing

Confirm that you copied the correct image ID from the Template section of the Designer.

The update should contain:

{   "passOverrides": {     "imageIds": {       "strip": "YOUR_STRIP_IMAGE_ID"     }   } }

Make sure you are providing a valid PassKit image ID, not an image URL.

Apple Wallet Looks Correct but Google Wallet Still Shows the Profile Image

This process addresses the scenario where a previously issued profile image remains on the Google Wallet pass after changing from a Membership Card design to a Loyalty Card design.

If Apple Wallet already displays the new design correctly, no equivalent update is required specifically to correct the Apple Wallet design.

Only Some Members Are Affected

Only update members whose existing Google Wallet pass continues to display the old profile image.

If an existing member's pass already displays the new Loyalty Card design correctly, no additional update is required.

Expected Behaviour

After the update has been processed, the existing Google Wallet pass should update without the member needing to enrol again.

The pass should:

  • Use the new Loyalty Card design.

  • No longer display the previous profile image.

  • Display the strip image specified by passOverrides.imageIds.strip.

  • Retain the member's existing details and pass functionality.

Depending on the device and Google Wallet update timing, the changes may not appear immediately.

Important Notes

  • This process applies specifically to an existing profile image remaining on Google Wallet after changing from a Membership Card design to a Loyalty Card design.

  • Changing the card design and clearing an existing member's profile image are separate operations.

  • Set profileImage to blank to explicitly clear the previously issued profile image.

  • Use passOverrides.imageIds.strip to apply the replacement strip image.

  • The strip image ID can be found in the Template section of the Designer.

  • passOverrides.imageIds expects an image ID, not an image URL.

  • passOverrides.imageIds can also be used to override other supported Google Wallet images for an individual member.

  • Test the process with a single existing member before performing a bulk update.

  • Allow time for Google Wallet to receive and display pass updates.

Did this answer your question?