> For the complete documentation index, see [llms.txt](https://docs.thewalletcrew.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thewalletcrew.io/configure/advanced-configuration/wallet/apple-and-google-wallet/apple-wallet-certificates.md).

# Apple Wallet certificates

Configure the Apple Developer account, certificates, and APNs push credentials that let The Wallet Crew issue Apple Wallet passes for a brand.

To issue Apple Wallet passes that display the brand's own identity and receive real-time updates, certificates and push notification credentials must be established through the Apple Developer Program.

<figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FkczJ6mnsX7WB8A8pSEJr%2Fimage.png?alt=media&#x26;token=a0971f1c-db04-432f-8973-7b37feb205d3" alt="The brand requests a Pass Type Certificate and an APNs key from Apple and delegates The Wallet Crew to issue the passes."><figcaption><p>The credentials stay with the brand: Apple issues them to the brand, which delegates pass issuance to The Wallet Crew.</p></figcaption></figure>

Want the “why” before the “how”? Start with [Apple & Google wallet](/configure/advanced-configuration/wallet/apple-and-google-wallet.md).

## Before you begin

### What this guide covers

* Create a Pass Type ID that identifies the organization as the pass issuer
* Generate and configure certificates that sign the wallet passes
* Set up Apple Push Notification service (APNs) for real-time pass updates
* Connect the Apple Developer account credentials to The Wallet Crew platform

### Prerequisites

* Active Apple Developer Program membership ($99/year for organizations)
* Administrator access to the Apple Developer account
* Authority to create certificates and authentication keys
* Access to The Wallet Crew admin console

### Apple Developer Program enrollment requirements

Before beginning this configuration, ensure the organization has enrolled in the Apple Developer Program as an **Organization** (not as an individual). This enrollment requires:

* **D-U-N-S Number** from Dun & Bradstreet for business verification. Apple usually sends it by email with the subject `Your D-U-N-S Number is enclosed.` from `Apple Developer <developer@email.apple.com>`
* **Work email address** linked to the company's domain (avoid personal Gmail/Yahoo accounts)
* **Publicly accessible website** reflecting the company's legal identity
* **Legal binding authority** as an owner, executive, or authorized employee to sign Apple's agreements

If enrollment has not happened yet, visit the Apple Developer Program enrollment page to begin the process. Enrollment as an organization (rather than individual) ensures the company name appears on wallet passes and enables multi-user account management.

<p align="center"><a href="https://developer.apple.com/programs/enroll/" class="button secondary" data-icon="chevrons-right">Apple Developer Program enrollment page</a></p>

## Kickoff

### Choose a setup path

* **Option 1 — Account delegation:** Grant The Wallet Crew administrator access to configure the integration. This is the fastest option.
* **Option 2 — Self-configuration:** Manage the complete setup within the organization. This maintains strict access control and requires familiarity with Apple Developer.

Both options provide the same functionality. Account delegation reduces the implementation workload. Self-configuration retains complete internal control.

### Option 1 — account delegation

This approach allows The Wallet Crew team to handle all technical configuration while the brand retains ownership of its Apple Developer account. Temporary administrator access is granted, and we configure certificates, keys, and identifiers according to Apple's best practices.

#### Grant Administrator Access

Navigate to App Store Connect Users and sign in with the Apple Developer account credentials.

<p align="center"><a href="https://appstoreconnect.apple.com/access/users" class="button secondary" data-icon="chevrons-right">Apple Store Connect User</a></p>

Click the **Add (+)** button to invite a new user. Enter `contact@neostore.cloud` as the email address and assign the **Admin** role. This permission level allows The Wallet Crew team to create Pass Type IDs, generate certificates, configure push notification keys, and complete all necessary setup steps.

<div data-with-frame="true"><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FzbCYmmn5GAHgwANb8UeX%2Fconfigure-apple-wallet-certificates-app-store-connect-users-showing-how-invite.png?alt=media&#x26;token=27692a4d-b137-499e-9eaa-321e2fe24de3" alt="App Store Connect users page showing how to invite a new admin user" width="375"><figcaption><p>App Store Connect users page showing how to invite a new admin user</p></figcaption></figure></div>

The Wallet Crew team will receive an invitation notification and will proceed with Pass Type ID creation, certificate generation, and APNs configuration. We notify the brand when setup is complete and provide documentation of all created resources. This administrator access can be revoked after confirming that wallet pass issuance and updates are working correctly.

**What happens next:** After access is granted, we create the Pass Type ID (formatted as `pass.com.thewalletcrew.{tenantId}`), generate the signing certificate, configure push notifications, and upload everything to the tenant. This typically completes within 1–3 business days. We’ll confirm by email and share a short summary of what was created.

### Option 2 — configuration on your own

The complete setup is managed within the brand's Apple Developer account and The Wallet Crew admin console. This option requires familiarity with Apple's certificate infrastructure but maintains strict internal access control.

#### Understanding the Components

Before proceeding, it's helpful to understand what is being created:

The **Pass Type ID** is the issuer identifier (for example `pass.com.thewalletcrew.{tenantId}`). The **CSR** is a request file generated in The Wallet Crew that Apple uses to create the certificate. The **signing certificate** is what cryptographically signs each pass. The **APNs auth key** is what lets us trigger updates for passes already installed on devices.

Follow these steps to configure the Apple membership program for The Wallet Crew.

{% stepper %}
{% step %}
**Login and open Identifiers**

1. Login to the Apple developer program console:

<p align="center"><a href="https://developer.apple.com/account" class="button secondary" data-icon="chevrons-right">Apple Developer program console</a></p>

2. Go to Certificates, IDs & Profiles > Identifiers
   {% endstep %}

{% step %}
**Create a Pass Type ID**

1. Click the + button and select Pass Type IDs, then click Continue.
2. Fill the form. Set the description to `membership pass`. Set the identifier to the value shown in The Wallet Crew under `pass type identifier`.

   <p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/passTypes/configuration/apple/edit" class="button secondary" data-icon="chevrons-right">The Wallet Crew</a></p>

The value should follow the pattern `pass.com.thewalletcrew.{tenantId}` where `{tenantId}` is the brand identifier.

{% hint style="danger" %}
Treat the Pass Type ID identifier as permanent. Once passes have been issued, changing it typically breaks updates and can force a full re-issuance.
{% endhint %}

Copy this exact value and paste it into the Apple Developer Portal identifier field.

<div data-with-frame="true"><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FqSzoxtv1hMo1M4Bcg3XP%2Fconfigure-apple-wallet-certificates-wallet-crew-console-showing-pass-type-identifier.png?alt=media&#x26;token=03ff9c85-e15b-4df4-bf75-127227c41c1a" alt="The Wallet Crew console showing the Pass Type Identifier value to copy into Apple Developer Portal"><figcaption><p>The Wallet Crew console showing the Pass Type Identifier value to copy into Apple Developer Portal</p></figcaption></figure></div>

{% hint style="warning" %}
If this identifier must be modified for any reason, click the lock icon next to the field in The Wallet Crew console and coordinate the change with the point of contact at The Wallet Crew to ensure proper synchronization. Never do it without the consent of that point of contact.
{% endhint %}

Click **Continue** to review the settings, then click **Register** to create the Pass Type ID.
{% endstep %}

{% step %}
**Navigate to Pass Type ID Details**

After registering the Pass Type ID, Apple returns to the identifiers list. Locate and click on the Pass Type ID just created to open its detail page.

<div data-with-frame="true"><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FkBPrp9NF2bVfx5Iw8pxk%2Fconfigure-apple-wallet-certificates-apple-developer-portal-identifiers-list-showing-created.png?alt=media&#x26;token=26631d9f-426e-4559-9d2a-5f25af39634b" alt="Apple Developer Portal identifiers list showing the created Pass Type ID"><figcaption><p>Apple Developer Portal identifiers list showing the created Pass Type ID</p></figcaption></figure></div>

In the Pass Type ID details page, click the **Create Certificate** button. This will open Apple's certificate creation workflow

<div align="center" data-with-frame="true"><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FTLx8ZQGdWKnbxYsTh2dy%2Fconfigure-apple-wallet-certificates-apple-developer-portal-pass-type-id-details.png?alt=media&#x26;token=ef59937c-83f5-47d4-adbc-a2d9b0f52103" alt="Apple Developer Portal Pass Type ID details showing the Create Certificate button"></div>

Leave this browser tab open and switch to The Wallet Crew admin console tab. If it is not open, navigate to The Wallet Crew Apple Configuration.

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/passTypes/configuration/apple/edit" class="button secondary" data-icon="chevrons-right">The Wallet Crew Apple Configuration</a></p>
{% endstep %}

{% step %}
**Generate Certificate Signing Request (CSR)**

In The Wallet Crew console, locate the **Certificate Signing Request (CSR)** section and click **Generate CSR**. The system will create a cryptographic signing request file. Once generation completes, click **Download CSR** to save the file locally. The filename will be similar to `pass.cloud.thewalletcrew.{yourbrand}.csr`.

<div><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2Fkz6nI8yTVLQstxaUbZBp%2Fconfigure-apple-wallet-certificates-wallet-crew-apple-showing-generate-csr-action.png?alt=media&#x26;token=1809e01a-8390-4124-9d66-d246ccd271ad" alt="The Wallet Crew Apple configuration showing the Generate CSR action"><figcaption><p>The Wallet Crew Apple configuration showing the Generate CSR action</p></figcaption></figure> <figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FW1PQ3c0oeUgROdOhtmsp%2Fconfigure-apple-wallet-certificates-wallet-crew-apple-showing-download-csr-action.png?alt=media&#x26;token=b0141126-564e-4271-bde5-fe9c74015fee" alt="The Wallet Crew Apple configuration showing the Download CSR action"><figcaption><p>The Wallet Crew Apple configuration showing the Download CSR action</p></figcaption></figure></div>
{% endstep %}

{% step %}
**Upload CSR to Apple and download certificate**

Return to the Apple Developer Portal browser tab where the certificate creation form is waiting. Leave the **Certificate name** field empty so Apple auto-generates it, then upload the `.csr` file downloaded from The Wallet Crew.

Click **Continue** to process the CSR. Apple will generate the signing certificate using the cryptographic information from The Wallet Crew's CSR.

<div><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2F92tKT0s1kWo5NLIODBK6%2Fconfigure-apple-wallet-certificates-apple-developer-portal-certificate-creation-form-showing.png?alt=media&#x26;token=1270fa68-6482-413b-a922-2a928f68bf03" alt="Apple Developer Portal certificate creation form showing CSR upload"><figcaption><p>Apple Developer Portal certificate creation form showing CSR upload</p></figcaption></figure> <figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2Fgj2z1RA4NYKBjtUbm17A%2Fconfigure-apple-wallet-certificates-apple-developer-portal-certificate-download-screen-generated.png?alt=media&#x26;token=7d3d00ef-7d7f-47f8-96df-611b4babc279" alt="Apple Developer Portal certificate download screen for the generated pass certificate"><figcaption><p>Apple Developer Portal certificate download screen for the generated pass certificate</p></figcaption></figure></div>

On the confirmation page, click **Download** to save the certificate file (named `pass.cer`) locally. This certificate file is the cryptographic credential that will sign all wallet passes issued by the organization.
{% endstep %}

{% step %}
**Upload certificate to The Wallet Crew**

Navigate back to The Wallet Crew Apple Configuration page. Locate the **Certificate Upload** section.

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/passTypes/configuration/apple/edit" class="button secondary" data-icon="chevrons-right">The Wallet Crew Apple Configuration Page</a></p>

Click **Choose File** and select the `pass.cer` certificate file downloaded from Apple. The Wallet Crew system will validate that the certificate matches the CSR and is properly configured.

Review the certificate information displayed (expiration date, issuer details) and click **Apply Certificate** to complete the upload. The certificate is now active and will be used to sign all wallet passes created.

<div data-with-frame="true"><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FHKV1DbYXSm63fvzMtbY5%2Fconfigure-apple-wallet-certificates-wallet-crew-apple-showing-certificate-upload-apply.png?alt=media&#x26;token=09f61157-e191-4c7a-82ab-13852ed59475" alt="The Wallet Crew Apple configuration showing certificate upload and Apply Certificate"><figcaption><p>The Wallet Crew Apple configuration showing certificate upload and Apply Certificate</p></figcaption></figure></div>
{% endstep %}

{% step %}
**Create APNs Auth Key in Apple**

Apple Push Notification service (APNs) enables real-time updates to wallet passes after they've been installed on customers' devices. When a pass balance, event details, or any other pass content is updated, APNs notifies the customer's device to download the latest version.

Navigate to the Apple Developer Keys page and click the **+ button** to create a new key.

<p align="center"><a href="https://developer.apple.com/account/resources/authkeys/list" class="button secondary" data-icon="chevrons-right">Apple Developer Keys page</a></p>

Complete the key registration form: Name the key (for example “Wallet Push Notifications”), enable **Apple Push Notifications service (APNs)**, then click **Configure** next to APNs to pick the environment.

In the APNs configuration dialog, select **Production** environment (not Sandbox). Production environment is required for wallet passes to receive updates in real-world usage. Click **Save** to confirm this setting.

<div data-with-frame="true"><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FQKluhJf2loBbQZawm0dQ%2Fconfigure-apple-wallet-certificates-apple-developer-portal-key-registration-form-apns.png?alt=media&#x26;token=c281fe14-b978-4ae8-8398-ee60a5a20386" alt="Apple Developer Portal key registration form with APNs enabled"><figcaption><p>Apple Developer Portal key registration form with APNs enabled</p></figcaption></figure></div>

Click **Continue** to review the key configuration, then click **Register** to create the key. Apple will display the Key ID, a critical piece of information needed in the next step, so copy it to a safe location.

Click **Download** to save the authentication key file (named `AuthKey_XXXXXXXXXX.p8`).

**Important:** Apple only allows this file to be downloaded once. If it is lost, the key must be revoked and a new one created. Store the downloaded `.p8` file securely—treat it like a password.
{% endstep %}

{% step %}
**Upload APNs key to The Wallet Crew**

Navigate to The Wallet Crew APNs Configuration page.

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/passTypes/configuration/apple/editApn" class="button secondary" data-icon="chevrons-right">The Wallet Crew APNs Configuration page</a></p>

Complete the APNs configuration form: Paste the **Key ID** copied from Apple (10 characters) and upload the `AuthKey_XXXXXXXXXX.p8` file downloaded from Apple.

Click **Save** or **Apply** to upload the APNs credentials. The Wallet Crew platform will validate the key and configure push notifications for the tenant.

<div data-with-frame="true"><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2F3iTJLKzpt6JoMH5HR7G8%2Fconfigure-apple-wallet-certificates-wallet-crew-apns-showing-key-id-p8.png?alt=media&#x26;token=d77fcc30-c6b3-4a8f-899b-ca6602e86cbe" alt="The Wallet Crew APNs configuration showing Key ID and .p8 file upload"><figcaption><p>The Wallet Crew APNs configuration showing Key ID and .p8 file upload</p></figcaption></figure></div>

**Configuration complete:** The Apple Wallet integration is now fully configured. Wallet passes can be created, and they will be signed with the certificate and capable of receiving real-time updates via APNs.
{% endstep %}
{% endstepper %}

## Certificate Renewal

Apple Wallet certificates expire annually and must be renewed to continue issuing passes. Apple will send reminder emails before expiration, but certificates should be renewed proactively at least two weeks before the expiration date to avoid service interruption.

{% hint style="info" %}
**Timeline:** Certificate renewal takes approximately 15 minutes. Existing passes continue working during renewal, with no downtime.
{% endhint %}

{% hint style="warning" %}

### Renewal does not affect production

Renewing a certificate in staging does not update production. Upload the renewed certificate separately in the production tenant.
{% endhint %}

{% stepper %}
{% step %}
**Initiate Certificate Renewal in Apple**

Navigate to the Apple Developer Account and sign in. Select **Certificates, IDs & Profiles** from the left navigation, then click **Certificates**.

<p align="center"><a href="https://developer.apple.com/account" class="button secondary" data-icon="chevrons-right">Apple Developer Account</a></p>

Click the **+ button** to create a new certificate. Select **Pass Type ID Certificate** from the list of certificate types, then click **Continue**.
{% endstep %}

{% step %}
**Generate CSR in The Wallet Crew**

1. Open The Wallet Crew admin console and click **Generate CSR**. Even if a previous CSR file exists, a new one must be generated for renewal.

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/passTypes/configuration/apple/edit" class="button secondary" data-icon="chevrons-right">The Wallet Crew Administration Console - Apple configuration</a></p>

2. Click **Generate CSR** to create a new certificate signing request. Once generation completes, click **Download CSR** to save the file. The filename will be similar to `pass.cloud.thewalletcrew.{yourbrand}.csr`.

<div><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2Fkz6nI8yTVLQstxaUbZBp%2Fconfigure-apple-wallet-certificates-wallet-crew-apple-showing-generate-csr-action.png?alt=media&#x26;token=1809e01a-8390-4124-9d66-d246ccd271ad" alt="The Wallet Crew Apple configuration showing Generate CSR for renewal"><figcaption><p>The Wallet Crew Apple configuration showing Generate CSR for renewal</p></figcaption></figure> <figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FW1PQ3c0oeUgROdOhtmsp%2Fconfigure-apple-wallet-certificates-wallet-crew-apple-showing-download-csr-action.png?alt=media&#x26;token=b0141126-564e-4271-bde5-fe9c74015fee" alt="The Wallet Crew Apple configuration showing Download CSR for renewal"><figcaption><p>The Wallet Crew Apple configuration showing Download CSR for renewal</p></figcaption></figure></div>
{% endstep %}

{% step %}
**Upload CSR to Apple and download renewed certificate**

Return to the Apple Developer Portal. In the certificate creation workflow, upload the new CSR file just downloaded from The Wallet Crew.

Click **Continue** to generate the renewed certificate, then click **Download** to save the new `pass.cer` file.

<div><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2F92tKT0s1kWo5NLIODBK6%2Fconfigure-apple-wallet-certificates-apple-developer-portal-certificate-creation-form-showing.png?alt=media&#x26;token=1270fa68-6482-413b-a922-2a928f68bf03" alt="Apple Developer Portal certificate creation form showing CSR upload (renewal)"> <img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2Fhw6KliMVHsdHrEyxm6jg%2Fconfigure-apple-wallet-certificates-apple-developer-portal-confirmation-screen-renewed-pass.png?alt=media&#x26;token=724aa1d8-ca20-4296-ac26-b4affb15597f" alt="Apple Developer Portal confirmation screen for renewed pass certificate"> <figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2Fgj2z1RA4NYKBjtUbm17A%2Fconfigure-apple-wallet-certificates-apple-developer-portal-certificate-download-screen-generated.png?alt=media&#x26;token=7d3d00ef-7d7f-47f8-96df-611b4babc279" alt="Apple Developer Portal download screen for the renewed pass certificate"><figcaption><p>Apple Developer Portal download screen for the renewed pass certificate</p></figcaption></figure></div>
{% endstep %}

{% step %}
**Upload renewed certificate to The Wallet Crew**

Navigate to The Wallet Crew Apple Configuration page. Upload the renewed `pass.cer` certificate file.

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/passTypes/configuration/apple/edit" class="button secondary" data-icon="chevrons-right">The Wallet Crew Apple Configuration</a></p>

Review the new expiration date to confirm it's been extended for another year, then click **Apply Certificate**.

**Renewal complete:** The certificate is renewed for another year. All existing passes continue working seamlessly, and new passes will be signed with the renewed certificate.

<div data-with-frame="true"><figure><img src="https://123508161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDJrf9G0l7ArnvuwEH0a8%2Fuploads%2FHKV1DbYXSm63fvzMtbY5%2Fconfigure-apple-wallet-certificates-wallet-crew-apple-showing-certificate-upload-apply.png?alt=media&#x26;token=09f61157-e191-4c7a-82ab-13852ed59475" alt="The Wallet Crew Apple configuration showing upload of the renewed certificate and Apply Certificate"><figcaption><p>The Wallet Crew Apple configuration showing upload of the renewed certificate and Apply Certificate</p></figcaption></figure></div>
{% endstep %}
{% endstepper %}

## Troubleshoot certificate renewal

### Multiple certificates in Apple Developer

Two certificates for the same Pass Type ID are expected during renewal. The existing certificate remains active while Apple adds the renewed certificate.

The Wallet Crew automatically uses the newest active certificate. The older certificate expires naturally and does not require revocation.

Do not revoke the older certificate while it remains valid. Revocation can briefly interrupt pass issuance before the renewed certificate propagates.

After the older certificate expires, it can be deleted in Apple Developer. Deleting it does not affect The Wallet Crew platform.

### CSR upload shows an older file

During renewal, the CSR upload screen in the admin console may show a dropdown of earlier files. This happens when the browser session caches previously selected files.

Select **Upload new file** or **Browse** beside the dropdown. The link can appear visually de-emphasized but still accepts a new CSR file.

If the link is unavailable, open the page in a private or incognito window. This starts a fresh browser session. If the issue continues, contact The Wallet Crew support with a screenshot. The team can upload the renewed certificate directly to the tenant.

## FAQ

<details>

<summary><strong>What is a Pass Type ID and why do I need one?</strong></summary>

A Pass Type ID is the issuer identifier in Apple’s ecosystem (for example `pass.com.thewalletcrew.{tenantId}`). It tells Apple and iOS devices which organization is allowed to issue and sign passes, which is why it’s required for any Apple Wallet deployment. Most brands use one Pass Type ID across all their pass types.

</details>

<details>

<summary><strong>What's the difference between a CSR, certificate, and APNs key?</strong></summary>

The CSR is a request file generated in The Wallet Crew and uploaded to Apple. Apple uses it to generate the signing certificate, which is the credential used to sign every pass. The APNs key is separate. It’s what lets The Wallet Crew authenticate to Apple Push Notification service to trigger updates for passes already installed on devices.

</details>

<details>

<summary><strong>Why do I need a certificate (.cer) and an APNs key (.p8)?</strong></summary>

Apple Wallet splits “trust” into two pieces. The `.cer` certificate signs the passes, so devices can verify the pass is authentic and hasn’t been tampered with. The `.p8` APNs key authenticates the push channel, so Apple accepts update notifications for those passes and devices know they should refresh.

</details>

<details>

<summary><strong>How long does Apple Developer Program enrollment take?</strong></summary>

For organizations, Apple typically approves enrollment in 2–5 business days. Sometimes Apple asks for extra verification around the D‑U‑N‑S number or company identity. The D‑U‑N‑S number is usually sent by email with the subject `Your D-U-N-S Number is enclosed.` from `Apple Developer <developer@email.apple.com>`. Once approved, the wallet certificate setup usually takes around 1–2 hours.

</details>

<details>

<summary><strong>Can I use an individual Apple Developer account instead of organization?</strong></summary>

It is technically possible, but rarely a good idea. Individual accounts show a personal name on passes and don’t support the same team workflows. Most businesses should enroll as an organization (same $99/year price).

</details>

<details>

<summary><strong>What happens if my certificate expires?</strong></summary>

If the certificate expires, issuing and updating passes can fail. Passes already installed may still display, but they won’t reliably receive updates. Renew at least two weeks before expiration; Apple usually sends reminders about 30 days before.

</details>

<details>

<summary><strong>Do I need to renew the APNs authentication key?</strong></summary>

No. APNs keys do not expire, so they are not renewed. Only the Pass Type ID certificate is normally renewed each year. If the APNs key is revoked in Apple’s portal, a new one must be created and uploaded to The Wallet Crew.

</details>

<details>

<summary><strong>Can I revoke delegated access after initial setup?</strong></summary>

Yes. Once everything is configured, the delegated admin user can be removed from App Store Connect and the integration will keep working. Delegation is only needed for initial setup, and it’s optional for renewals.

</details>

<details>

<summary><strong>What if I can't find my Pass Type Identifier in The Wallet Crew console?</strong></summary>

It is on the Apple Configuration page under **Pass Type Identifier**. If it’s empty or errors, contact the point of contact at The Wallet Crew. The tenant may need a small setup step before Apple configuration is available.

</details>

<details>

<summary><strong>Why must I use "production" APNs environment, not "sandbox"?</strong></summary>

Apple Wallet uses the production APNs environment, even for testing. Sandbox is meant for iOS app development, not passes. If sandbox is configured by mistake, push updates won’t work reliably.

</details>

<details>

<summary><strong>How do I know if my configuration is working correctly?</strong></summary>

Create a test pass in The Wallet Crew and add it to an iPhone. If it installs and shows the organization name, signing works. Then change a simple field (like a balance or text) and confirm the installed pass refreshes within a few seconds.

</details>

<details>

<summary><strong>What should I do with the .p8 APNs key file after uploading?</strong></summary>

Store the `.p8` file like a password, ideally in a password manager or secure document storage. It may be needed later for audits, reconfiguration, or if Apple asks for verification of the APNs setup. Don’t commit it to version control and don’t send it over unencrypted email.

</details>

<details>

<summary><strong>Can I use the same Apple Developer account for multiple brands?</strong></summary>

Yes, but each brand should use its own Pass Type ID. One Apple Developer account can host multiple Pass Type IDs, each with its own certificate. In The Wallet Crew, each tenant maps to its own Apple configuration.

</details>

<details>

<summary><strong>We already have existing passes. How do we migrate to The Wallet Crew?</strong></summary>

This is a **migration** of live passes, not a normal “renewal”.

For Apple, the key constraint is issuer identity. In practice, keep the **same Pass Type ID**, export the existing pass technical data (like serial number + auth token), then repoint updates to The Wallet Crew.

Follow the dedicated guide: [Move passes to The Wallet Crew](/configure/advanced-configuration/wallet/import-and-export/pass-migration/move-passes-to-the-wallet-crew.md).

When leaving The Wallet Crew, use: [Export passes from The Wallet Crew to another provider](/configure/advanced-configuration/wallet/import-and-export/pass-migration/export-passes-from-twc-to-another-provider.md).

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.thewalletcrew.io/configure/advanced-configuration/wallet/apple-and-google-wallet/apple-wallet-certificates.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
