Skip to content

Apple Wallet

Apple Wallet allows you to keep credit cards, transit cards, event tickets, and a lot more at hand by adding it to your Apple device's wallet. It's also possible to add a pass to an android device but requires you to have an app installed such as WalletPasses.

Activation

Get in touch with our customer service to enable the plugin. To activate the plugin you need an Apple developer account and a pass type identifier with a valid certificate. This is required so we can sign and send updates to passes automatically.

Subscriptions

Once the Apple Wallet plugin is enabled users will be able to export their subscriptions as a pkpass file to import it into their Apple Wallet. Subscription passes will be updated automatically on every device as soon as a subscription changes in Unidy. If users do not use their Wallet or do not have a device compatible with pkpass files we offer the possibility to download the subscription as PDF.

Make a subscription exportable

Subscriptions are managed through our API. To make a subscription exportable as pkpass file you need to fill out wallet_export data.

Subscription payload

{ 
  ...
  "wallet_export": {
    "qr_code": "abcd1235",
    "further_information": "Your terms of use and privacy",
    "additional_attributes": []
  }
  ...
}

The qr_code attribute is mandatory and cannot be blank. It will be shown as a QR-Code with it's value below. It can contain up to 1024 characters. If you like to add more information to your pass you can add additional_attributes. You can add up to four attributes. When additional_attributes are used you are required to add the data for these attributes in metadata. Adding attributes without metadata will cause an error.

Note

Every additional attribute must be included in metadata with a label and value.
For additional attributes only the characters a-z0-9_ are allowed.

To show more information on the back of the pass you can use the further_information attribute. This attribute is optional and can be left blank. You might choose to add your terms and conditions here.

Subscription payload with additional attrbiutes

{ 
  ...
  "wallet_export": {
    "qr_code": "82756874365",
    "further_information": "These General Terms and Conditions (GTC) are an integral part of all contractual relations entered into free of charge and against payment between Unidy GmbH as provider of a white label ID solution and connected service modules (together hereinafter: ID solution) and its customers and their sole basis. Conflicting terms and conditions of the customer do not apply even if Unidy does not expressly object to them and/or provides its services without reservation in knowledge of the customer's terms and conditions. For terms and conditions see here: https://undiy.de",
    "additional_attributes": [
      "name","membership_no","membership_status"
    ]
  },
  "metadata": {
    "name": {
      "label": "Name",
      "value": "Justin Jackson"
    },
    "membership_no": {
      "label": "Mitgliedsnummer",
      "value": "2396592"
    }, 
    "membership_status": {
      "label": "Status",
      "value": "Gold-Member"
    }
  }
  ...
}

Pass Design

Subscription passes use the generic pass template. For more information read Apple's Pass Design an Creation Guide

  • The pass logo and icon are taken from the subscription category and scaled to the correct size.
  • The subscriptions title is shown in primaryFields.
  • The subscriptions starts_at and ends_at are shown as secondaryFields.
  • The subscriptions additional_attributes are shown as auxiliaryFields.

Pass Example

Image pass frontside Image pass backside Image pass backside

Setting up Apple Developer Account

  1. Go to Certificates, IDs & Profiles
  2. Select Identifier and filter for Pass Type IDs using the drop down
  3. Add a new Identifier by clicking the (+) symbol
  4. Select Pass Type IDs
  5. Provide a reasonable description and an identifier such as pass.de.unidy.subscriptions. Replace the host with your domain.
  6. Create a certificate for the new Pass Type ID. You will be asked to upload a Certificate Signing Request. To create one see sections below.
  7. Download the created certificate and send the file together with the private key to your unidy contact person using a secure communication channel.

Note

Certificates expire after one year and need to be replaced after expiration.

Create csr on Linux

  1. Create a new directory: mkdir apple_cert
    cd apple_cert

  2. Generate a certificate signing request with a keysize of minimum 2024 openssl req -nodes -newkey rsa:2048 -keyout pass.key -out CertificateSigningRequest.csr

  3. Set information e.g. (ensure you give it a password):

    Country Name (2 letter code) [AU]:DE
    State or Province Name (full name) [Some-State]:Hamburg
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Unidy GmbH
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []: Unidy
    Email Address []:

Create csr on Mac

Follow the instruction here.