How to Create Apple Wallet Passes and Drive Engagement Using Them?

In this digital age, the need for secure and convenient ways to store and access important credentials is more crucial than ever and the Apple wallet emerges as a perfect solution to address this modern-day demand.
An Apple Wallet pass is a digital representation of a physical item that can be stored and accessed through the Apple Wallet app on iOS devices. The pass format was first introduced by Apple as the ‘Passbook’ in 2012 with the launch of iOS 6 and was later rebranded as the Apple Wallet.
The Apple Wallet allows users to conveniently store and manage a wide range of items, such as boarding passes, event tickets, debit/credit cards, loyalty cards, coupons, gift cards, membership cards, and more in a paperless format in a centralized location. The Wallet passes typically contain barcodes, QR codes, or NFC (Near Field Communication) tags that compatible devices can scan or read, enabling users to use their stored digital passes for transactions, entry, or authentication purposes. Additionally, Apple Wallet seamlessly integrates with Apple Pay, enabling users to make payments through the Apple Wallet app.

Understanding the Key Components of the Apple Wallet Pass

Apple Wallet passes are based on the PassKit framework, a part of Apple’s iOS development platform. PassKit provides the tools and infrastructure necessary for creating, distributing, and managing passes. Passes are defined using a JSON (JavaScript Object Notation) format, which contains key-value pairs specifying various properties and information related to the pass. The following are the main components of a pass:
  • Pass Information: The JSON structure includes details such as the pass type identifier, serial number, team identifier (linked to the developer account), and organizational information like the pass issuer’s name and website.
  • Visual Appearance (UI): The pass can have customizable visuals, including a header and a footer, along with relevant icons, colors, and styles. Pass creators can also add relevant images or logos to enhance the pass’s appearance.
  • Barcode, NFC Tag, and QR Code: Most passes contain either an NFC Tag or a barcode/QR code that can be scanned for quick and easy access to the information stored in the pass. This is especially useful for boarding passes, event tickets, and loyalty cards.

Getting Started with Creating an Apple Wallet Pass

As Wallet passes are predominantly used on mobile devices, the web plays a pivotal role in both creating and distributing these passes. Organizations can establish web-based systems to facilitate updates and modifications to existing passes. For instance, if there are any changes in event timings or new discount offers, organizations can easily send push notifications or email alerts to users, guiding them to the updated pass through a web link.

The Process of Designing and Creating an Apple Wallet Pass:
1. Pass.json Creation
The first step is to create the pass.json file, which contains essential information and settings for the Wallet pass. This file includes details such as the pass type, organization name, pass design, barcode or QR code data, and custom fields specific to the pass type.
The keys within the pass.json file, such as boardingPass, coupon, eventTicket, storeCard, and generic, determine the visual appearance of the pass and the template for information placement. For example, event tickets have a small cutout while coupons feature a perforated edge, and so on.

Partial pass showing top-level keys:
“description”: “Boarding pass for July 4, Tennessee to Chennai”,
“formatVersion”: 1,
“passTypeIdentifier”: “”,
“serialNumber”: “8j23fm3”,
“backgroundColor”: “rgb(255, 255, 255)”,
“foregroundColor”: “rgb(0, 0, 0)”,
“logoText”: “AirAsia”,
“boardingPass”: {
<<field dictionaries>>

2. Manifest.json Creation
The next step involves creating the manifest.json file. This file serves as a digital signature of the pass contents, ensuring its integrity. It contains a list of all the files included in the pass, along with their cryptographic hashes.

Sample content of the manifest.json file:
“pass.json”: “39da72fa8604fe80faaf645b77f57ef930b0c212”,
“icon.png”: “ba47a8021c8d74d2146d7244c8a0566be37df43b”,
“icon@2x.png”: “bd5442b4b08aa4dde333ec9ef0269e7fd93140b3”,
“logo.png”: “6d4e7410569679d1ad9ec8040b072d5c6fc46285”,
“logo@2x.png”: “a718ffd4e611e404dd3eb701454bcaefdabbe311”

Sample content of the manifest.json file: { “pass.json”: “39da72fa8604fe80faaf645b77f57ef
930b0c212″, “icon.png”: “ba47a8021c8d74d2146d7244c8a05
66be37df43b”, “icon@2x.png”: “bd5442b4b08aa4dde333ec9ef0269
e7fd93140b3″, “logo.png”: “6d4e7410569679d1ad9
ec8040b072d5c6fc46285″, “logo@2x.png”: “a718ffd4e611e404dd3eb701454b
caefdabbe311″ }
3. Cryptographic Signing and Compression
Once the pass.json and manifest.json files are prepared, the pass needs to be cryptographically signed and compressed into the appropriate format (.pkpass). Cryptographic signing involves generating a digital signature using a private key to validate the pass’s authenticity and integrity. Compression is then applied to bundle all the pass files into a single package.
To create the signature file, a PKCS #7 detached signature of the manifest file is made using the private key associated with the signing certificate. The WWDR intermediate certificate is included as part of the signature. The pass package is compressed using the following command line instructions:

# To Create AppleWWDRCA.pem from AppleWWDRCA.cer:

$ openssl x509 -inform der -in AppleWWDRCA.cer -out AppleWWDRCA.pem


# To Create signerCert and signerKey from passId Certificate:

$ openssl pkcs12 -in <cert-name>.p12 -clcerts -nokeys -out signerCert.pem -passin pass:<your-password>

$ openssl pkcs12 -in <cert-name>.p12 -nocerts -out signerKey.pem -passin pass:<your-password> -passout pass:<secret-passphrase>


# To sign the pass package:

$ openssl smime -sign -in manifest.json -out signature -signer signerCert.pem -passin pass:<password> -inkey signerKey.pem -passin pass:<password> -certfile AppleWWDRCA.pem -outform der -binary


# To compress the pass package:

$ zip -r Boarding.pkpass signature manifest.json thumbnail@2x.png thumbnail.png icon@2x.png pass.json logo@2x.png icon.png logo.png

Note: PKCS #7 is the specific standard used for the generation and verification of digital signatures and certificates managed by a PKI (Public Key Infrastructure) of series PKCS (Public Key Cryptography Standards). S/MIME (Secure/Multipurpose Internet Mail Extensions) is a widely accepted protocol for sending digitally signed and encrypted messages.

How Apple Wallet Passes Create Value for New-Age Businesses

By integrating with Apple Wallet, businesses can enhance customer engagement and streamline operations for positive business outcomes. By offering value, convenience, and personalization, businesses can foster long-term customer relationships for a competitive advantage. Apple Wallets gives businesses the opportunity to gamify the pass experience through enticing rewards and incentives, to further encourage customer engagement. Moreover, businesses can explore cross-promotion opportunities by collaborating with complementary businesses to create joint passes, thereby expanding their reach, and tapping into new customer bases. Here are 5 reasons why modern organizations must consider integrating with Apple Wallet –
  • Convenience and Accessibility: By offering digital passes through Apple Wallet, businesses eliminate the need for customers to carry physical cards, tickets, or coupons. Users always have their mobile devices with them, with easy access to their passes any time they need.
  • Dynamic Updates: Apple Wallet passes support dynamic updates, meaning businesses can modify pass content in real-time. For example, airlines can update boarding passes with the latest flight information or retailers can change discounts on loyalty cards. Customers appreciate this agility in communication and enhance customer engagement.
  • Location-based Engagement: Apple Wallet passes can leverage geolocation to trigger lock screen notifications or display the pass when customers are near a physical store or event venue. This location-based engagement drives increased conversions.
  • Analytics and Insights: Apple Wallet passes allow businesses to gather valuable data and insights about how their customers behave. They can track pass usage, location, and interactions, to refine their marketing strategies based on the insights and improve customer engagement.
  • Cost-Effectiveness and Sustainability: Digital passes are a sustainable and cost-effective alternative to printed cards, tickets, or coupons. Integrating with the Apple Wallet allows businesses to reinforce their commitment to eco-friendly practices and connect positively with the new-age, eco-conscious customers, and investors.

Getting Started with KANINI

Ready to explore the Apple wallet pass for your business? Let’s help you with it! Leveraging our expertise in product engineering, we enable businesses to build customized Apple Wallet passes that align perfectly with their brand values and business goals. With our expertise and dedication, we work collaboratively with your team to create seamless and engaging digital experiences for your customers. Reach out to us to know more about how we can help you plan, create, distribute, and update passes for the Wallet app.

Muruganandham is a lead application developer at KANINI in the iOS & MacOS space. His passion for app architecture and innovative mobile applications is very much visible in his collaborative approach, working closely with designers, product owners, and developers to create exceptional user experiences. With 10+ years of experience in app development across GIS, Utility, and Social Media apps, Muru is specialized in combining technical proficiency with a refined UI/UX sensibility.
Social Share
Related Articles