Building a Passkit App

Building an Apple PassKit app has been an interesting endeavor. Internally at SAP we recently built a small Business Card application which allows employees to create a digital business card, and subsequently generate a individual and customized wallet pass, allowing them to quickly retrieve it, without having to find the app, and open it on their device. Having a wallet pass lets users simply double tap the lock button, authenticate and see a collection of their passes.

Creating a pass has a unique requirement in that an application cannot simply create the pass directly on the device, or in the app. A pass needs to be generated server side, and signed with the appropriate signing certificate. In our case we utilized a small Typescript Node.JS server, which has a single API endpoint which accepts the information needed to populate the business card pass. The API then returns a signed .pkpass file. A .pkpass at its simplest form is simply a zipped bundle of assets and JSON files which describes the key fields and their respective values.