Creating Apple Wallet Passes from FileMaker
One of the main benefits of attending Claris FileMaker related developer conferences is learning about new techniques and being able to use them with your existing clients when you return. I’ve been attending FileMaker developer conferences for over 25 years and usually return home with a number of tips, tricks and techniques that I can use with new or existing client projects.
Last November I attended the EngageU European FileMaker conference in Malmö, Sweden where I gave a talk and also attended as many sessions as I could. I like to attend sessions on topics I know nothing or very little about and hopefully learn something new that might be of use in the future.
One of the sessions I was hoping to attend was called Passes, Please! FileMaker’s Journey into Apple Wallet by Javier Durá from Afterdata. Afterdata is a Claris Partner based in Valencia, Spain (one of my favourite Spanish cities) and is one of the organisers of the CodeWave Spanish FileMaker Developer conference. Luckily Javier’s session didn’t overlap with mine and I was able to attend – it was an excellent session that showed how to generate Apple Wallet Passes from FileMaker. The video for this session will appear on the EngageU YouTube channel and is worth a watch if you would like to learn about how the process of creating Apple Wallet Passes works.
When I returned home to Australia after the conference I immediately got in touch with a couple of clients that run events to see if they would be interested in offering Apple Wallet Passes and within a few days I was creating my first Pass all from FileMaker using the great sample file that Javier provided. I won’t go into the full details of what you need in order to create an Apple Wallet Pass, but at a high level these include:
- an active Apple Developer Program membership
- generate a Pass Type ID and create/download the required certificates
- if you’re going to be generating the passes using FileMaker Pro you’ll need to do this on a Mac and download the signing executable from Apple
- generate the required images to work with your Pass format
- a FileMaker file that can generate the .json file and have this signed which creates the final Pass that can be added to the Apple Wallet
The final Apple Wallet Pass is just a signed JSON file – you generate the JSON file and the associated images then sign this to create the pass that you can then distribute to your event attendees. You can see examples of this on the Apple Developer website.
After talking with one of my clients we decided that we wanted change how the Pass files were distributed – instead of emailing them as attachments for customers to click on and then be prompted to add them to their Apple Wallet we wanted to simplify this and have a link that we could send via SMS that would open and display the Pass immediately (similar to how you get tickets from airlines, movie theatres etc). This made it easier for the FileMaker users to create and send the passes as they wouldn’t need to have the certificates and the signing app installed on their Mac – they could just click a button to generate a URL to send via email or SMS to the customer.
After some research I found a number of alternative methods to sign the passes and settled on a free PHP library that I could use to generate the json file and sign the pass using PHP dynamically. Having programmed in PHP for around 20 years this was my preferred option but there are many other options available for different programming languages to choose from here. All I needed to do was write some PHP code that used the FileMaker Data API to communicate with FileMaker Server and retrieve the attendee record and create the json file that the pkpass library would then convert into the final .pkpass file and display this for the user to add to their wallet.
To demonstrate this in action I’ve used the Reconnect conference that is taking place in October in Melbourne, Australia as my sample event. Reconnect is the only Claris FileMaker developer conference in the APAC region – as one of the conference organisers I thought this would be a cool feature to develop for attendees this year.
Here’s a screenshot of the simple FileMaker file I created to generate passes for the event (N.B. the Attendees listed here are fake):

I’ve got fields to capture the event details, such as the name, date, time and venue. I’ve used the Apple Maps API to convert the venue location into a geocode of the latitude and longitude and another API to work out the time zone offset from UTC for the event as well. I’ve also specified the RGB value for the background colour – in this example it is black.
Clicking the green button to the right of the Attendee mobile phone number generates a link like this:
https://fms.databuzz.com.au/apple_passes_demo/getPass.php?id=6E8A4828-0FB7-4F30-A0DB-67C11A7BCF1E
I’m including the FileMaker Primary Key value for the Attendee record as the id paramater. The PHP file will parse out this parameter and use the FileMaker Data API to retrieve this record and create the JSON for the Pass and then export this as a .pkpass file. When the link is opened in Safari on the iPhone it automatically appears and prompts the user to Add the Pass to their Apple Wallet:

I’m also generating a simple barcode from another field that can be used to scan the attendee’s pass and mark their record as attended when the conference starts using FileMaker Go. You can also add additional information to the back of the pass such as contact details for the event and a link to a map for the venue:

Here’s a short video showing this in action (you can also watch this on YouTube here):
If you would like to discuss creating Apple Wallet Passes with your FileMaker solution please get in touch to arrange a free consultation and discuss your requirements. If you have any questions please comment below.