Discuss how to manage tickets, boarding passes, payment cards and other passes in the Wallet app.

Wallet Documentation

Posts under Wallet subtopic

Post

Replies

Boosts

Views

Created

Custom HCE payment UI
We are currently developing a wallet solution that uses the iOS EEA HCE API. During the development of our solution we have been unable to identify how we can opt out of using the native HCE payment modal screen or biometric authentication UI so that we can customise the experience to align with our overall customer experience. The only available customisation is a label below the title of the screen which does not meet our needs. Please can you advise how we can opt out of using the native HCE payment modal screen. If it is not possible to opt out of using the native HCE payment modal screen, please can you provide the rationale for this given the Digital Marketing Act interoperability guidelines and EU Commitments in case AT.40452.
1
3
244
Feb ’25
How to identify system's default wallet?
We are currently developing a wallet solution that uses the iOS EEA HCE API. During the development of our solution we have been unable to identify an API that allows us to evaluate the default contactless wallet state on the device. Please can you advise how we can source this information that enables customers to be provided with accurate details of their default wallet state whilst they are using our wallet solution. If this is not possible please can you provide the rationale for this given the Digital Marketing Act interoperability guidelines and EU Commitments in case AT.40452.
1
0
180
Feb ’25
Express Mode when Apple Wallet it's not the default wallet.
We are currently developing a wallet solution that uses the iOS EEA HCE API’s, during the testing of enabling our wallet as the system default wallet, we are being presented with an iOS system alert that states: “Change the default contactless app? You can double-click to use cards in your default app. If Apple Wallet is not your default wallet app, you’ll need to open Wallet to use its cards, keys and tickets. Express Mode will continue to work when iphone is held near a compatible reader” Please can you advise how we can prevent Apple Pay’s express mode from intercepting the customers preferred wallet actions including transit payments. If this is not possible please can you provide the rationale for this not being possible given the Digital Marketing Act interoperability guidelines and EU Commitments in case AT.40452.
2
0
321
Feb ’25
Apple wallet pass nfc enable
on a span of 4 months we sent 2 for nfc entitlement requests and refused , no reason nothing . i mean all we want is the ability to use nfc on passes nothing else , no idea why this is so complex . with google you don’t even need a developer account and it’s for free , here we pay and we can’t even get the full functionality the passes offer , we got the hardware and the solution but we find out we need an nfc entitlement to allow passes to have nfc ? i mean our use case is very simple instead of having barcode on the passes we want them to be via nfc and we already got the nfc hardware but we find out we need nfc entitlement which we tried requesting but getting refused with no reason at all. at least tell u what is the problem what how to fix it not outright refuse without any reason at all. if anyone got any solution please provide.
0
0
146
Feb ’25
Verify with wallet run in simulator
I am fallowing the steps mention here https://developer.apple.com/wallet/get-started-with-verify-with-wallet/ and https://developer.apple.com/documentation/passkit/requesting-identity-data-from-a-wallet-pass to run a POC in simulator but I am getting a crash DigitalPresentmentSession requestDocument fatal error from xpc: This app has crashed because it called an API it is not entitled to use. :0: Fatal error: This app has crashed because it called an API it is not entitled to use.
4
0
354
Jan ’25
Wallet Extension stopped working
Hello, I am facing a problem when trying to start the Wallet Extension Flow. It seems that even though the override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) of the PKIssuerProvisioningExtensionHandler is called, the override func passEntries(completion: @escaping ([PKIssuerProvisioningExtensionPassEntry]) -> Void) is not called. Note that this issue is reproduced in a device with iOS 18.1 whereas it is working correctly in a device with iOS 17.4. Has something changed regarding the Wallet Extension in iOS 18.1 and above?
1
0
248
Jan ’25
pkpass not opening on iphone (ios17.7)
I am currently working on creating a digital wallet for Apple. While I am able to successfully generate the .pkpass file and verify its contents by changing the extension to .zip, I encounter an issue when attempting to open the .pkpass file on an iPhone—it displays the error "File format is not supported." I validated the .pkpass file using https://pkpassvalidator.azurewebsites.net/, and the validation results indicate that everything is correct. Additionally, I manually verified the contents by extracting the zip file, and all the information appears to be in order. I am unable to identify the root cause of this issue. Could you please provide guidance on what might be going wrong?
1
0
261
Jan ’25
PKPassLibrary.requestAutomaticPassPresentationSuppression Behavior
We are implementing a feature that uses PKPassLibrary.requestAutomaticPassPresentationSuppression to prevent the Wallet from appearing when unlocking a lock. We have already completed the approval process for the entitlement to enable Pass Presentation Suppression. In most cases, our code snippet works as expected, and the result is .success. However, we are also encountering other results, such as .denied, .alreadyPresenting, and .cancelled or .notSupported, which cause the Wallet to appear for users. Here's the code snippet we're using: PKPassLibrary.requestAutomaticPassPresentationSuppression { result in logger.log( .info, "PKPassLibrary suppression result: \(result.description)", LogContext.homeFeature ) } I would appreciate clarification on the following points: What's the meaning of each result type (.denied, .alreadyPresenting, .cancelled, .notSupported) beyond what is mentioned in the documentation? The documentation here does not provide additional details. What is the recommended handling for these specific result states? Should we be taking different actions or retries based on each case? Thank you very much for your help. Best, Ramiro.
4
2
348
Nov ’24