If your PassKit account already has an NFC-enabled Apple Certificate uploaded, you don't need to do anything - Google Wallet NFC Credentials are automatically provisioned for you.
Introduction
By default, Google Wallet NFC credentials are automatically provisioned when your account has an NFC-enabled Apple Certificate uploaded.
This guide explains how to manually provision Google Wallet NFC credentials if your account does not have an NFC-enabled Apple Certificate.
This can be useful if:
You want to begin developing and testing your integration while waiting for Apple NFC credentials.
You only plan to enable NFC for Google Wallet users.
⚠️ Important: If you choose to only support Google Wallet, you’ll need to plan how you will handle iPhone users, since Apple Wallet requires its own NFC-enabled certificate.
Step 1 - Request NFC Signing Credentials
In the PassKit portal, go to Account → Developer Tools.
Click on NFC Signing Credentials.
Step 2 - Provide OTP for private key encryption
You’ll be prompted to enter a one-time password (OTP) to encrypt your private key.
Save this OTP securely — you’ll need it later to decrypt your private key after it’s emailed to you.
Step 3 - Download Credentials from Email
Check your email for the credentials package.
Follow the included instructions to securely download and encrypt your NFC credentials.
Step 4 - Enable NFC on Your Pass Template
⚠️ Important: This step can only be done via the API, not the web portal
Step 4.1 - Get Your Pass Template ID
Find the Pass Template ID from the Portal URL
Step 4.2 - Retrieve the Full Template Record
Call the Get Pass Template API method to retrieve the full template record: https://docs.passkit.io/common/templates/#operation/Templates_getTemplate
Before enabling NFC, your template will look something like this:
{
"id": "xxxx",
...
"nfcEnabled": {
"enabled": false,
"payload": ""
}
...
}
Step 4.3 - Update the NFC Configuration
Change
enabled
totrue
and add your NFC payload:
{
"id": "xxxx",
...
"nfcEnabled": {
"enabled": true,
"payload": "${pid}"
}
...
}
Replace
${pid}
with your desired NFC Payload.In the above example, the payload is set to the unique PassKit ID for the pass record.
Step 4.4 - Update the Pass Template via API
Use the Update Pass Template API method to update the template: https://docs.passkit.io/common/templates/#operation/Templates_updateTemplate
⚠️ Important: Send the entire template object you retrieved in Step 4.2 with your edits applied.
Do not just send the
nfcEnabled
block — the update call replaces the whole template.
Step 4.5 - Create a New Pass Record
Generate a new pass record from your updated template.
The pass will now be NFC-enabled for Google Wallet
Remember: Apple Wallet passes will only support NFC if you’ve uploaded an NFC-enabled Apple Certificate to your project.
Step 5 - Verify on Android Device
Install the pass on a device with Google Wallet.
Use a SmartTap-enabled NFC reader configured with your Google Pay Collector ID and Private Key.
Confirm that the reader can successfully decrypt the NFC payload.