Inconsistent Wallet App Behavior with Mocked Data in PKIssuerProvisioningExtensionHandler

We are implementing Apple Pay and Wallet features in our app and using mocked data for testing purposes. Specifically, in the status(completion:) method of PKIssuerProvisioningExtensionHandler, we return:

passEntriesAvailable: true, remotePassEntriesAvailable: true, requiresAuthentication: true,

In the passEntries(completion:) method, we provide mocked data for our card.

The issue is that the app icon inconsistently appears under the "From Apps on Your iPhone" section in the Wallet app. Sometimes it shows up as expected, but other times it does not. On recent occasions, when the app is selected and mocked authorization is paased, the behavior includes a system error 'Cannot Add Card' even though we provided status that indicates that the app has available cards for Wallet.

For reference: The app uses two bundle IDs supporting in-app provisioning and PNO Pass Metadata has not been configured yet.

Could you help clarify the potential reasons for this inconsistent behavior?

Answered by DTS Engineer in 818318022

Hi @Lucija,

For Apple Wallet to correctly show the issuer app icon, the app needs to exclude any passes the user has already added to their device from the list of available passes. Passes need to include the extension’s bundle identifier in associatedApplicationIdentifiers to ensure accurate status of existing passes in Apple Wallet.

For now, please confirm the new issuer app is installed and opened at least once to update the extensions. And, again, check the PNO metadata and the identifiers of the extensions, and that the issuer app is already approved for Apple Pay In-App Provisioning. For example. your PNO metadata should contain the following:

"associatedApplicationIdentifiers": [
    "<TEAM_ID>.<BUNDLE_ID>",
    "<TEAM_ID>.<BUNDLE_ID>.WalletUIExt",
    "<TEAM_ID>.<BUNDLE_ID>.WalletNonUIExt"
]

Note: Please confirm this configuration is valid for all in-app provisioning enabled apps and app extensions.

Lastly, please check the app configuration in Certificates, Profiles & Identifiers to ensure you've provisioned the app IDs above for App Store distribution as well. Please see the following for more information:

Provisioning with capabilities

https://developer.apple.com/help/account/reference/provisioning-with-managed-capabilities

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

Hi @Lucija,

For Apple Wallet to correctly show the issuer app icon, the app needs to exclude any passes the user has already added to their device from the list of available passes. Passes need to include the extension’s bundle identifier in associatedApplicationIdentifiers to ensure accurate status of existing passes in Apple Wallet.

For now, please confirm the new issuer app is installed and opened at least once to update the extensions. And, again, check the PNO metadata and the identifiers of the extensions, and that the issuer app is already approved for Apple Pay In-App Provisioning. For example. your PNO metadata should contain the following:

"associatedApplicationIdentifiers": [
    "<TEAM_ID>.<BUNDLE_ID>",
    "<TEAM_ID>.<BUNDLE_ID>.WalletUIExt",
    "<TEAM_ID>.<BUNDLE_ID>.WalletNonUIExt"
]

Note: Please confirm this configuration is valid for all in-app provisioning enabled apps and app extensions.

Lastly, please check the app configuration in Certificates, Profiles & Identifiers to ensure you've provisioned the app IDs above for App Store distribution as well. Please see the following for more information:

Provisioning with capabilities

https://developer.apple.com/help/account/reference/provisioning-with-managed-capabilities

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

Inconsistent Wallet App Behavior with Mocked Data in PKIssuerProvisioningExtensionHandler
 
 
Q