PassKit integration
The PassKit integration lets customers add their loyalty card barcodes directly to their mobile wallets, providing convenient access to their loyalty cards at the store.
Before you begin
To enable this feature, contact your Instacart representative. Your organization must have a PassKit account and complete the necessary integration steps before this feature can be activated. For more information, see Retailer setup requirements.
Platform support
PassKit integration is available for the iOS native app and Android native app.
Retailer setup requirements
To enable Add to Wallet functionality for your customers, you must complete the following setup steps with PassKit. This integration requires coordination between your team, PassKit, and Instacart.
Set up your PassKit account
Create a PassKit account to begin designing and managing your digital loyalty passes.
- Visit https://app.passkit.com/signup and complete the registration form using your business email address.
- Verify your email address.
- Complete your account profile and company information.
After your account is created, you can access the PassKit Portal where you can design passes, manage certificates, and access your API credentials.
Build your digital loyalty pass
Design your digital loyalty card using PassKit's pass designer to create a Loyalty Program and configure the pass template, including brand colors, logo, barcode format, and customer-facing fields.
Upload your Apple Developer certificate
Generate and upload Apple certificates from your Apple Developer Account to enable Apple Wallet functionality.
-
Generate a CSR in PassKit. This CSR file is required to create the Pass Type ID Certificate in Apple's Developer Portal.
- Open your PassKit Project and go to the Certificates page.
- Select Generate CSR to download the Certificate Signing Request (.csr) file.
-
Create a Pass Type ID in Apple. The Pass Type ID must match the Project ID in PassKit.
- Log in to your Apple Developer Account.
- Select Certificates, Identifiers & Profiles > Identifiers.
- Create a new Pass Type ID Identifier, for example,
pass.com.yourcompany.loyalty.
-
Generate a certificate in Apple.
- In your Apple Developer Account, create a Pass Type ID Certificate.
- Upload the PassKit-generated CSR file to create the Pass Type ID Certificate, which is a .cer file.
- Download the certificate file.
- Ensure that the Pass Type ID matches the Project ID in PassKit.
-
Upload to PassKit. This final step signs the project, allowing passes to be issued and updated on Apple Wallet.
- Return to the PassKit Certificates page.
- Upload the downloaded pass.cer file.
Enable NFC functionality
NFC (Near Field Communication) enables contactless tap functionality for your wallet passes, allowing customers to use their passes at point-of-sale terminals.
Apple's NFC certificate approval process takes a minimum of 4 weeks. Apply early to avoid delays in your launch timeline.
PassKit simplifies the process for Google Wallet by provisioning the NFC certificate on your behalf. You do not need to obtain a separate NFC certificate for Google Wallet.
- Apply for an NFC certificate. You must apply for an NFC Certificate through Apple's Developer Program.
- Wait for approval. Ensure that your use case complies with Apple's guidelines to avoid delays.
- Generate and add the certificate to PassKit. When the certificate is approved, add your NFC-enabled certificate to your PassKit account by following the certificate upload steps.
When you are granted the NFC Certificate from Apple, upload the NFC-enabled certificate to the PassKit Portal. Both Apple Wallet and Google Wallet passes will automatically have NFC support and will be encrypted with the same ECDSA key.
Share integration credentials with Instacart
Share the following PassKit credentials with your Instacart representative to complete the integration setup.
- These credentials are used by Instacart to dynamically generate short-lived JSON Web Tokens for API requests.
- The API Secret is only displayed one time when it is generated. Store it securely before leaving the page.
- Use only secure, encrypted channels for sharing these credentials with Instacart. Do not use standard email.
| Credential | Where to find it | Purpose |
|---|---|---|
| Program ID | In the browser's address bar when viewing your Loyalty Pass Project. For example, .../projects/[PROGRAM_ID]/.. | Identifies the specific Loyalty Program. |
| Tier ID(s) | In Tiers within the Project Settings. | Identifies specific membership levels, if applicable. |
| JWT Signing Key (API Key) | Developer Tools or Clients settings in the PassKit portal. | The key used to sign the JWT for API authentication. |
| JWT Signing Secret (API Secret) | In the same location as the API key. | The secret used to sign the JWT for API authentication. |
After you share your credentials, the Instacart technical team completes the following:
- Configures the integration in Instacart's systems.
- Tests the pass generation in a staging environment.
- Validates that the passes are correctly displayed in both Apple Wallet and Google Wallet.
- Enables the feature for your production environment.