Apple Pay In-App Provisioning – Apple server failure when adding a card

We are implementing Apple Pay In-App Provisioning in our issuer iOS application and are encountering a HTTP 500 error returned from Apple servers during the provisioning flow.

The issue occurs after generating the encrypted payload and attempting to complete the provisioning process. The Apple service responds with 500 Internal Server Error, preventing the card from being added to Wallet.

We would appreciate assistance identifying whether this is caused by: • a payload formatting issue, • cryptographic material mismatch, • entitlement / configuration issue, • or a server-side issue.

Environment

Platform • iOS: 26.3.1 • Device: iPhone 13 mini • Xcode: 26.3.1

Apple Pay configuration • In-App Provisioning entitlement enabled • Issuer app authorized by Apple for provisioning • Payment Network: Mastercard • Token Service Provider (TSP): MDES

Testing environment • Production • App distribution method: TestFlight

Provisioning Flow Overview

Our implementation follows the standard Apple Pay In-App Provisioning flow: 1. User taps Add to Apple Wallet in issuer app. 2. App presents PKAddPaymentPassViewController. 3. App receives: • Apple public certificates • nonce • nonceSignature 4. Issuer backend generates: • encryptedPassData • activationData • ephemeralPublicKey 5. These values are returned to the app. 6. App constructs PKAddPaymentPassRequest. 7. Wallet attempts provisioning.

At this point the request fails and Apple servers return HTTP 500. We see this in the system console, with the phone having Wallet debugging profile installed.

Checklist – Common Issues Verified

Based on the Apple Pay In-App Provisioning demo guidance, we verified the following configuration items.

Entitlements • com.apple.developer.payment-pass-provisioning enabled • Apple Pay capability enabled in Xcode • Correct Team ID and bundle configuration

App configuration • PKAddPaymentPassViewController used for provisioning • PKAddPaymentPassViewControllerDelegate implemented • generateRequestWithCertificateChain implemented correctly

Cryptographic data • encryptedPassData • activationData • ephemeralPublicKey

All values are generated by our issuer backend and returned to the app

Feedback ID: FB22249031 (In app provisioning error 500)

Apple Pay In-App Provisioning – Apple server failure when adding a card
 
 
Q