LinkDen
Using LinkDen

Apple Wallet

Let visitors save your contact information as an Apple Wallet pass.

Apple Wallet

Let visitors save a pass with your contact info to their iPhone or Mac wallet. When enabled, a download button appears on your public page.

Prerequisites

Before you start, make sure you have:

  • A paid Apple Developer Program membership ($99/year) at developer.apple.com
  • A registered Pass Type Identifier
  • A signing certificate and the Apple WWDR intermediate certificate

Setup Guide

1. Register a Pass Type ID

  1. Log in to developer.apple.com.
  2. Go to Certificates, Identifiers & Profiles > Identifiers.
  3. Click + and select Pass Type IDs.
  4. Enter a description (e.g., "LinkDen Business Card") and an identifier (e.g., pass.com.yourdomain.linkden).
  5. Click Register.

2. Create a Signing Certificate

  1. In the Apple Developer portal, go to Certificates.
  2. Click + and select Pass Type ID Certificate.
  3. Choose the Pass Type ID you just created.
  4. Follow the instructions to generate a CSR using Keychain Access on macOS.
  5. Upload the CSR and download the certificate.
  6. Double-click the .cer file to install it in Keychain Access.

3. Export the Certificate and Key

  1. Open Keychain Access on macOS.
  2. Find the pass certificate (it shows your Pass Type ID).
  3. Expand it to see the private key.
  4. Select both, right-click, and choose Export 2 items.
  5. Save as .p12 with a passphrase.

4. Convert to Base64

Run these commands to prepare your certificates for deployment:

# Download the Apple WWDR certificate
curl -O https://www.apple.com/certificateauthority/AppleWWDRCAG4.cer

# Convert WWDR cert to base64
base64 -i AppleWWDRCAG4.cer | tr -d '\n' > wwdr_base64.txt

# Extract the signer certificate
openssl pkcs12 -in pass.p12 -clcerts -nokeys -out signer_cert.pem
base64 -i signer_cert.pem | tr -d '\n' > signer_cert_base64.txt

# Extract the signer private key
openssl pkcs12 -in pass.p12 -nocerts -out signer_key.pem
base64 -i signer_key.pem | tr -d '\n' > signer_key_base64.txt

5. Set Environment Variables

Add these to your deployment platform (not in the database -- they're kept as environment variables for security):

VariableDescription
WALLET_SIGNER_CERTContents of signer_cert_base64.txt
WALLET_SIGNER_KEYContents of signer_key_base64.txt
WALLET_WWDR_CERTContents of wwdr_base64.txt

Tip: The Signing Status banner in the admin UI shows whether each certificate is detected.

6. Configure in Admin

Go to /admin/settings/wallet, turn on Show on page, and fill in the settings:

Identity:

  • Team ID -- Your Apple Developer team identifier.
  • Pass Type ID -- The identifier you registered (e.g., pass.com.yourdomain.linkden).
  • Organization Name -- Name shown on the pass.
  • Pass Description -- Brief description of the pass.

Appearance:

  • Background Color -- Hex color for the pass background.
  • Foreground Color -- Hex color for the pass text.
  • Label Color -- Hex color for field labels.
  • Logo URL -- Logo image displayed on the pass.
  • Custom QR URL -- Optional custom URL for the QR code.

Pass Preview

The admin page includes a live preview showing how your pass will look with your current colors, logo, and content.

On this page