Contents

Configuring your environment for the Verify with Wallet API

Set up your environment to use Verify with Wallet.

Overview

Verify with Wallet allows you to verify a person’s information using their digital ID stored in Apple Wallet. Verify with Wallet streamlines the verification experience in apps that use age or identity verification by allowing people to share information from their digital ID.

To request a digital ID stored in Apple Wallet, you use the PKIdentityNationalIDCardDescriptor. You need the in-app-identity-presentment entitlement to use this API, and you can submit your request here. For more information on the Verify with Wallet API and entitlement requirements, see Get started with the Verify with Wallet API.

Set up your developer account

After you add the in-app-identity-presentment entitlement, you’ll set up your developer account. Complete the following steps in the Certificates, Identifiers, & Profiles section of the Apple Developer website:

  1. Create a merchant ID. If you already have a merchant ID you use for Apple Pay, you can reuse it here.

  2. Create an Identity Access Certificate for your merchant ID. This certificate shows up in the Identity tab on the Edit or Configure a Merchant ID page. Note that your server uses the private key of the encryption certificate to decrypt the encrypted data returned from the API.

  3. Add the In App Identity Presentment capability to your App ID. This capability appears in the Additional Capabilities tab of the Edit your App ID Configuration page.

  4. Add the ‘In App Identity Presentment Merchant IDs’ capability to your App ID and select the associated Merchant IDs.

  5. Generate a new provisioning profile with these changes.

Configure your app’s entitlement file

Choose the document-type you want to add the entitlement to from the entitlement request you submitted. For more information, see Managing your app’s information property list values.

Filter the list of entitlements to just the ones you requested through the entitlement request. The following example shows what a entitlement with the us-drivers-license doc-type request might look like:


"com.apple.developer.in-app-identity-presentment": {
    "document-types": [
        "us-drivers-license"
    ],
    "elements": [
        "given-name",
        "family-name",
        "portrait",
        "address",
        "issuing-authority",
        "document-expiration-date",
        "document-number",
        "driving-privileges",
        "age",
        "date-of-birth"
    ]
},

"com.apple.developer.in-app-identity-presentment.merchant-identifiers": [
    “your-merchant-id-goes-here”
]

You must add the com.apple.developer.in-app-identity-presentment.merchant-identifiers entitlement even if you’re using the same merchant ID for Apple Pay. Apple Pay’s com.apple.developer.in-app-payments entitlement isn’t recognized for identity verification.

Once you’ve set up your developer environment, you can use the PKIdentityNationalIDCardDescriptor API to request a digital ID stored in Apple Wallet.

See Also

Identity passes and authorization