This article is for you if you want to:

  • Supercharge your loyalty and coupon program enrolments by enabling your customers to easily share the program enrolment link right from their pass with their friends & family.
  • Learn how to customise the sharing functionality of Apple Wallet and Google Pay passes to fit with your business & program needs.
  • Understand the differences in out-of-the-box sharing functionality between Apple Wallet & Google Pay.

Apple Wallet

All projects created through the PassKit platform have pass sharing for Apple Wallet enabled by default.

When sharing is turned on for a pass design template, Apple Wallet displays a share icon on the back of the card in the right top. When a customer taps this share icon they'll be prompted with the standard iOS sharing popup to share that particular pass with someone else.

This does not generate a new pass, it simply sends the exact same pass to someone else. When that pass gets installed in another device, it will be the exact same pass record in multiple devices. If the status of the pass changes (i.e. points update, tier change, etc.) it will affect all pass records.

Customising the share button behaviour

You can customise the behaviour of the Apple Wallet share button through the PassKit Templates API, so it doesn't share the actual pass but for example your program enrolment link:

You can set this through the Update Pass Template API call. The following payload is used to customise the share button behaviour for Apple Wallet to share a custom link with custom description:

{
"id": "4ceSnwbKm2caH39vDPzmVr",
...
"sharing": {
"prohibitSharing": false,
"url": "https://pub1.pskt.io/c/u6gxbt",
"description": "Enrol into our Coffee Program"
},
...
}

Disable sharing

You can disable sharing for your pass templates via the Update Pass Template API call.

The following payload is used to remove the share button.

{
"id": "4ceSnwbKm2caH39vDPzmVr",
...
"sharing": {
"prohibitSharing": true
},
...
}

When making template changes via the API, It's recommended to get the full pass template first, modify the sharing settings per above, and then run the Update Pass Template API call.

See the additional resources at the bottom of this article for using the PassKit API.

Google Pay

Google Pay does not have built in sharing functionality, but Google Pay does have functionality to limit in how many Google Pay user accounts a pass can be installed.

By default all PassKit projects allow passes to be installed in multiple Google Pay user accounts. If you set the prohibitSharing setting on the template to false, then a Google Pay pass can only be installed in one user's Google account, and Google will throw an error if attempting to install in multiple accounts:

Modify the Google Pay template to share pass links or URLs

We can still be clever and add sharing functionality to the Google Pay pass template design using the web portal. For Android it is possible to generate URL's that automatically open the mail app or SMS app. The format is as follows:

SMS:

sms:?body=urlEncodedBodyTextHere

Email:

mailto:?subject=urlEncodedSubject&body=urlEncodedBody

Replace urlEncodedBodyTextHere, urlEncodedSubject and urlEncodedBody with your required values.

To URL encode a string you can use a free online URL encoder tool.

If you want to share the actual pass link for the pass then you can render this by using https://pub.pskt.io/${pid} as your link.

DO NOT URL escape ${pid} when you paste the link in the web portal, otherwise the platform won't properly replace that with the actual PassKit ID at runtime.

The following are some sample valid link values to use:

  • Share link to your website via SMS: sms:?body=https%3A%2F%2Fpasskit.com
  • Share pass link via SMS: sms:?body=Hey%20there%2C%20download%20my%20pass%3A%20https%3A%2F%2Fpub1.pskt.io%2F${pid}
  • Share program enrolment link via SMS: sms:?body=https%3A%2F%2Fpub1.pskt.io%2Fc%2Fu6gxbt
  • Share link to your website via Email: mailto:?subject=Check%20my%20website&body=https%3A%2F%2Fpasskit.com
  • Share pass link via Email: mailto:?subject=Check%20my%20pass&body=Hey%20there%2C%20download%20my%20pass%3A%20https%3A%2F%2Fpub1.pskt.io%2F${pid}
  • Share program enrolment link via Email: mailto:?subject=Check%20this%20program&body=https%3A%2F%2Fpub1.pskt.io%2Fc%2Fu6gxbt

You can simply set these in the Google Pay design links section:

Share via SMS:

Share via Email:

Sharing & Security

Please note that even with sharing functionality turned off, there are still ways a customer could install a pass in multiple wallets (for example by sharing their unique pass link), or even using a screenshot.

Disabling sharing functionality makes it more difficult for customers to share cards, but it does not fully prevent it, nor does guarantee multiple people can't use the same card.

Have a look at this article for more details on how to engineer a secure process around this and implement additional security measures and controls.

Additional Resources

Did this answer your question?