Hi there, I'm using a PHP library to generate a apple wallet card. In the end my code generates a .pkpass file, but for some reason iOS does not recognize it as a wallet object, instead just as a .pkpass file which in can save in my downloads/documents. Any idea?
Apple Pay
RSS for tagDiscuss how to integrate Apple Pay into your app for secure and convenient payments.
Post
Replies
Boosts
Views
Activity
Hi,
We have a bank app which can activate tokenized payment cards (in Requires Activation status) on Apple devices.
In my case some customers tried to activate their card token on their Apple Watch. Our card system gathered all the required card data with the PNO and sent them to our app. Our app called the PKPassLibrary.activate() method, but got back the Swedish localizedDescription "Oväntat fel" which means "Unexpected error" in English. We checked our card system logs and contacted our PNO, both found no issue and no explanation to the unexpected error. How can we identify the issue here? Can we somehow find a more detailed error log from Apple Server?
Best regards,
Adrian Lui
Hi there, I'm using php to create a qr code card for your apple wallet. Hereby I'm using this package: https://github.com/chiiya/laravel-passes Currently I got this far, that it creates a temporary directory filled with the needed files, including: icon.png, logo.png, manifest.json, pass.json and a signature file. After that temp directory gets created it creates a .pkpass file. Which will be downloaded to your system using an anchor tag button with controller method behind. For some reason on my iPhone I can only download it as file (the .pkpass file) and not as an actual wallet card. Any idea what is going wrong?
Error in iOS Wallet Order When Removing Deprecated status Property from Payment Object in order.json
I am encountering an issue related to the status property within the payment object of the order.json file when opening an order in the iOS Wallet.
According to the official documentation, the status property in the payment object is marked as deprecated. Based on this information, I removed the status property from the order.json. However, when I attempt to open the order in the iOS Wallet app, an error occurs, preventing the order from being opened.
This creates confusion, as the documentation implies that the status property in the payment object is no longer required. However, the iOS Wallet app seems to still rely on the presence of this property or encounters an error when it’s missing.
Tested on IOS 17.6.1 & IOS 18
We created the P12 key from the Merchant ID certificate using KeyChain Access when developing Apple Pay for web.
Now we are in the process of deploying Apple Pay to Prod, do we need to generate a new P12 key for Prod?
I am not sure about the process here, and need some assistance or understanding.
Do I need to create a new P12 for Production deployment or can I use the P12 created when developing?
Thanks
I am looking for help with validation of an Apple Pay payload from the perspective of an Apple Pay processor. Further details would require an NDA.
I've implemented Push Provisioning, but am having trouble testing it.
When I try to add a payment pass with my activationData, encryptedPassData, and ephemeralPublicKey, I see the "Add Card to Apple Pay" screen, but then when I click "Add Card", I get a "Could Not Add Card" message.
When I inspect the error from didFinishAddingPaymentPass, it reads "The operation couldn’t be completed. (PKPassKitErrorDomain error 2.)".
Is this error PKPassKitError.Code.unsupportedVersionError? What does this error means?
Additional context:
We use cordova-apple-wallet to generate certificates and add payment pass.
Hey, I’m curious as to if anyone else is having this issue since iOS 18 came out, my 15 pro and my sisters 13 have un Set up Apple Cash and will not set Up. We’ve set up through Apple Wallet, Apple Wallet Settings, turned the phones off and on, removed the Apple IDs and signed back in but still wont set up. It’ll say set up Apple Cash we proceed with the process but just keep saying set up Apple Cash even after the set up steps are finished.
Wanting to remove credit caed
I am developing In-App Provisioning functionality within an iOS application. When I try to perform the process, the process fails and the following is displayed on the screen: "Your issuer does not yet offer support for this card".
The PassbookUIService logs show:
https://nc-pod8-smp device.apple.com:443/broker/v4/devices/xxxxxxxxxxxxxx/cards 200 Time profile: 0.25497 seconds
{
auxiliaryCapabilities = {
};
eligibilityStatus = 0;
sanitizedPrimaryAccountPrefix = "";
}
ProvisioningStepEligibility: received eligibility status: 0
Showing eligibility issue with reason: 2
ProvisioningOperationComposer: Step 'eligibility' failed with error (null)
Would like to seek your help to investigate the problem. Thanks
hello, apple send me this problem: We found that your in-app purchase products exhibited one or more bugs which create a poor user experience. Specifically, purchase feature was not responsive. Please review the details and resources below and complete the next steps.
we did everything. Our app should be paid for but is offered for free. Payment cannot be made, who can help us? The app is called DRACHMI
Our team want to transfer money to card with Apple Pay. I am iOS developer. I have access Admin. I created Merchant ID. I added domain. Our backend team uploaded .txt file to database. Url is working, you can see .txt file content when open it. But when I press verify I get error as following:
Domain verification failed. Unable to access verification file on server. Confirm that the file is in the correct location, proxies and redirects are not enabled, and the documented Apple Domain Verification IP addresses can access your server.
Please, help to fix this problem.
we want to get the last four digits of the real card number in apple Pay, and I found information about it in the document, link:
https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/pksecureelementpass/3543366-primaryaccountnumbersuffix?language=objc
My question is how to use it,can you provide sample code? We are very anxious, thank you!
Hello:
After integrating the in app SDK, I was able to request product lists and initiate payments normally. However, when running on the emulator and using a sandbox account for payment, I did not receive any callback from the app after successful payment, and the payment would be automatically initiated again. What caused this problem? Is it a problem with the sandbox account or the simulator?
I hope to receive a reply as soon as possible.
Thank you very much!
For transit passes I have notice they have the "Latest Transactions" under the card image. Is there a way to support this in other types of Passes such as a Store card?
Hi everyone,
I'm currently working on testing in-app purchases for my app, and I'm having issues with logging into a sandbox account on my iPhone.
Here's the situation:
I created a sandbox account via App Store Connect.
I signed out of my regular Apple ID from the App Store and attempted to log in with my sandbox account during an in-app purchase.
I receive a verification code on my phone, and it seems like the login is working. However, after entering the code, I keep getting redirected back to the "Sign in with Apple Account" screen. It doesn’t fully log me in.
I’ve tried resetting network settings, restarting the device, and even creating a new sandbox account, but nothing seems to work.
I'm running the app through Expo prebuild and attempting to test purchases, but without being able to log into the sandbox environment, I can’t move forward.
Has anyone encountered this issue before or know how to fix it? Any help would be greatly appreciated!
Thanks!
When checking if the device supports Apple Pay and has an active card, a call is made to 'applePayCapabilities'.
The documentation indicates this method asynchronously contacts the Apple Pay servers as part of the verification process.
My understanding is that this is a client side call, from the device/OS to the Apple Server.
The application (Apple pay on the web) is behind a firewall. What domain should I whitelist for this verification to be a success?
We have a requirement to include Apple Pay In-App Provisioning in our Mobile Application and we have an API from Backend to get the tokenReferenceID for a given Card. I want to query the passes from Apple Wallet to see if there are any matches to the given tokenReferenceID before I can decide whether to show the “Add to Apple Wallet” button or not.
I went through all PassKit APIs but couldn’t find a way to query for passes with tokenReferenceID. We have primaryAccountIdentifier, deviceAccountIdentifier but which one should be used to match with tokenReferenceID?
Can someone please help me how to query the Wallet passes with tokenReferenceID using PassKit?
I am working on a transit app that offers a digital ticketing product that is powered by a QR code being scanned. We have been successful in preventing the Apple Pay takeover experience from happening when a user tries to use this product next to the tap to pay terminals by making a call to PKPassLibrary.requestAutomaticPassPresentationSuppression(...) before the QR code is presented. However, our transit agency is piloting Express Transit on these turnstiles and we are noticing that this experience overrides the old NFC suppression. Is there a similar method available to us to suppress the express transit experience for users who are using these mobile ticketing products?
Hello,
I am developing an HCE-based contactless payment application for the European Economic Area. I want to detect when my application is not the default contactless app and forward the user to the iOS settings for selecting the default contactless app.
Question #1: How can I detect that my app is not the default contactless app?
Question #2: How can I forward the user directly to the default contactless app selection in iOS settings?
This line of code forwards the user to my app’s settings, which contains a reference to the default contactless app selection, but I couldn’t forward the user directly to the default contactless app selection view:
UIApplication.shared.open(URL(string: "app-settings:root=General")!)
There must be a way to jump directly to the default contactless app selection view as described in Apple's commitment to the EU (Case AT.40452, Chapter 3.8): "Apple will enable HCE Payment Applications to redirect users directly to the App’s page in settings and include a link which will take the user directly to the NFC settings page to easily set the default Payment Application for NFC In-Store Payments.
(https://ec.europa.eu/competition/antitrust/cases1/202428/AT_40452_10155330_9978_4.pdf)