Overview
The Google and Apple Wallet accelerator lets staff issue, update, and delete digital membership, loyalty, or event passes to a member’s phone wallet without leaving Salesforce. It’s a wrapper around the third-party PassKit.com API — staff or an automated Flow trigger a pass action, and the package stores the resulting pass reference and “add to wallet” link on aPass Assignment record.
A separate fusionCore-specific add-on layers on top of this base package to automatically issue or remove a pass when a membership is purchased or expires — check whether it’s installed if you expect passes to be fully automatic.
This accelerator is not part of core fusionCore — you also need your own PassKit.com account.
Prerequisites
- A PassKit.com account with your Program and Tier(s) already created, plus your API key and secret.
- Know whether your PassKit account is on the
pub1orpub2server — you’ll need to select the matching option during setup.
How to Configure
1
Assign permission sets
Assign Passes Setup to staff who will configure and issue passes, and Passes Viewer to anyone who only needs to view them.
2
Store your PassKit credentials
Go to Setup → Custom Metadata Types → PassKitDotComCredential → Manage Records → New. Name the record Default, and set:
uid__c— your PassKit API key.Secret__c— your PassKit secret.Endpoint__c—pub1orpub2, matching your PassKit account.
3
Create a Pass Setup per pass type
For each pass you want to offer, create a
Pass_Setup__c record with Program_Id__c and Tier_Id__c matching your PassKit configuration, choose a Pass_Type__c (Membership, Loyalty, or Event), and check Active__c.4
Add wallet buttons and QR codes
Add the Add to Google Wallet, Add to Apple Wallet, and Pass URL QR Code Lightning components to the
Pass_Assignment__c record page (or to a community page, for the wallet buttons).5
Issue passes from a Flow (optional)
Use the Add Member to Pass, Update Member Pass, and Delete Member Pass invocable Flow actions (Flow category “Google Apple Pass”) to issue or manage passes as part of your own automation, for example on membership purchase.
Limitations and Common Pitfalls
- Errors are stored on the record, not raised as an error. If PassKit rejects a request, the
Pass_Assignment__crecord still saves — itsStatus__cis set to Error and the reason is written toError_Message__c. A Flow that doesn’t check this can proceed as if the pass succeeded. Always check the pass’s status after issuing it. - Bulk deletion is asynchronous. Deleting more than one pass at a time processes in the background — the records show “Processing Deletion” until the batch completes, rather than deleting immediately.
- Only the member’s name and email are sent to PassKit automatically. Additional personalization needs custom configuration beyond the base setup.
- Missing credentials fail hard. If the
DefaultCustom Metadata credential record doesn’t exist (or is misconfigured), every pass action fails until it’s created. - The fusionCore add-on only covers subscription memberships. If your org has the fusionCore-specific add-on installed, it automatically issues a pass only for active subscription purchases tied to a product with an active Pass Setup — one-time purchases don’t get an automatic pass.

