Hi,
You're here because you've had issues with your implementation of Wallet Extensions for Apple Pay In-App Provisioning or In-App Verification. To prevent sending sensitive credentials in plain text, create a new report in Feedback Assistant to share the details requested below with the appropriate log profiles installed.
Gathering Required Information for Troubleshooting Apple Pay In-App Provisioning or In-App Verification Issues
While troubleshooting Apple Pay In-App Provisioning or In-App Verification, it is essential that the issuer is able to collect logs on their device and check those logs for error message. This is also essential when reporting issues to Apple. To gather the required data for your own debugging as well as reporting issues, please perform the following steps on the test device:
Install the Apple Pay and Wallet profiles on your iOS or watchOS device. If the issue occurs on Mac, continue to Step 2.
Reproduce the issue and make a note of the timestamp when the issue occurred, while optionally capturing screenshots or video.
Gather a sysdiagnose on the same iOS or watchOS device, or on macOS.
Create a Feedback Assistant report with the following information:
The bundle IDs
App bundle ID
Non-UI app extension bundle ID (if applicable)
UI app extension bundle ID (if applicable)
The serial number of the device.
For iOS and watchOS: Open Settings > General > About > Serial Number (tap and hold to copy).
For macOS: Open the Apple () menu > About This Mac > Serial Number.
The SEID (Secure Element Identifier) of the device, represented as a HEX encoded string.
For iOS and watchOS: Open Settings > General > About > SEID (tap and hold to copy).
For macOS: Open the Apple () menu > About This Mac > System Report > NVMExpress > Serial Number.
The sysdiagnose gathered after reproducing the issue.
The timestamp (including timezone) of when the issue was reproduced.
The type of provisioning failure (e.g., error at Terms & Conditions, error when adding a card, etc.)
The issuer/network/country of the provisioned card (e.g., Mastercard – US)
Last 4 digits of the FPAN
Last 4 digits of the DPAN (if available)
Was this test initiated from the Issuer App? (e.g., yes or no)
The type of environment (e.g., sandbox or production)
Screenshots or videos of errors and unexpected behaviors (optional).
Important: From the logs gathered above, you should be able to determine the cause of the failure from PassbookUIService, PassKit or PassKitCore, and by filtering for your SEID or bundle ID of your app or app extensions in the Console app.
Submitting your feedback
Before you submit to Feedback Assistant, please confirm the requested information above is included in your feedback. Failure to provide the requested information will only delay my investigation into the reported issue within your Apple Pay client.
After your submission to Feedback Assistant is complete, please respond in your existing Developer Forums post with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your client, a configuration issue within your developer account, or an underlying system bug.
Cheers,
Paris X Pinkney | WWDR | DTS Engineer
Apple Pay
RSS for tagDiscuss how to integrate Apple Pay into your app for secure and convenient payments.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi,
To ensure the issue is not caused by an error within your app or web service request, please review the Apple Pay Merchant Integration Guide. Additionally, please review the following technotes on Apple Pay:
TN3173: Troubleshooting issues with your Apple Pay merchant identifier configuration
TN3174: Diagnosing issues with the Apple Pay payment sheet on your website
TN3175: Diagnosing issues with displaying the Apple Pay button on your website
TN3176: Troubleshooting Apple Pay payment processing issues
If the resources above don’t help identify the cause of the error, please provide more information about your app or web services to get started. To prevent sending sensitive credentials in plain text, create a report in Feedback Assistant to share the details requested below. Additionally, if the error is something we need to investigate further, the appropriate engineering teams also have access to the same information and can communicate with you directly within Feedback Assistant for more information, as needed. Please follow the instructions below to submit your report.
For issues occurring with your native app or web service, perform the following steps:
Install the Apple Pay profile on your iOS or watchOS device. If the issue occurs on Mac, continue to Step 2.
Reproduce the issue and make a note of the timestamp when the issue occurred, while optionally capturing screenshots or video.
Gather a sysdiagnose on the same iOS or watchOS device, or on macOS.
Create a Feedback Assistant report with the following information:
The serial number of the device.
For iOS and watchOS: Open Settings > General > About > Serial Number (tap and hold to copy).
For macOS: Open the Apple () menu > About This Mac > Serial Number.
The SEID (Secure Element Identifier) of the device, represented as a HEX encoded string.
For iOS and watchOS: open Settings > General > About > SEID (tap and hold to copy).
For macOS: Open the Apple () menu > About This Mac > System Report > NVMExpress > Serial Number.
The sysdiagnose gathered after reproducing the issue.
The timestamp of when the issue was reproduced.
Screenshots or videos of errors and unexpected behaviors (optional).
Important: From the logs gathered above, you should be able to determine the cause of the failure from PassbookUIService, PassKit or PassKitCore, and by filtering for your SEID or merchant domain in the Safari Web Inspector. See Inspecting Safari on macOS to learn more.
Submitting your feedback
Before you submit to Feedback Assistant, please confirm the requested information above is included in your feedback. Failure to provide the requested information will only delay my investigation into the reported issue within your Apple Pay website.
After your submission to Feedback Assistant is complete, please respond in your existing Developer Forums post with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your web implementation, a configuration issue within your developer account, or an underlying system bug.
Cheers,
Paris X Pinkney | WWDR | DTS Engineer
My Raiffeisen ELBA-App doesnt work anymorw since i downloaded ios 26 beta 3 i cant open the app pls fix it because its my only banking app
Topic:
App & System Services
SubTopic:
Apple Pay
Hello Apple Developer Team/Community,
I am working on developing an Apple Wallet pass with NFC functionality for our electric vehicle (EV) charging stations. The goal is to enable a "tap-to-start charging" feature, providing a seamless and efficient experience for users. However, my request for an NFC certificate to enable this functionality has been rejected.
Here is a summary of my use case and actions taken so far:
1. Use Case:
The Wallet pass will allow users to initiate charging sessions by tapping their iPhones or Apple Watches on the EV charger.
This feature aims to simplify the process by eliminating the need for additional apps, physical cards, or manual inputs.
It enhances accessibility and aligns with Apple’s goals of providing users with secure and convenient solutions.
2. Steps Taken:
Submitted the NFC certificate request with a detailed explanation of the functionality.
Included diagrams and supporting documents demonstrating the workflow and system readiness.
Received a rejection without clear guidance on how to address the issue.
3. Technical Readiness:
Our backend is fully prepared to support NFC passes, including secure processing of tap events and payload encryption.
The Wallet pass has been configured to include the nfc field with the required encryptionPublicKey.
Request for Assistance:
Could you provide guidance on improving my application to meet Apple’s criteria for NFC certificates?
Are there specific requirements or examples of successful NFC-enabled Wallet pass applications that I can use as a reference?
If anyone has faced a similar rejection, what steps did you take to get approval?
Additional Information:
Use case: EV charging stations
NFC functionality: Tap-to-start charging session
Current implementation: Pass is functional without NFC but requires NFC for seamless operation.
Any advice or resources to help resolve this issue would be greatly appreciated. Thank you for your time and support.
Best regards,
DeveloperSquillion
We have been informed by a third-party subscription tracking service(Adjust) that, due to the following specification of App Store Connect, it is not possible to connect an STG app (a non-published testing app) with their server:
Specification:
Since Apple’s API only allows access for apps that are already published, it is not possible to enable subscription tracking for iOS apps that are not yet published.
Could you please confirm if our understanding of this specification is correct?
Additionally, is there any method or recommended approach to verify subscription tracking behavior with an STG (non-published) app before the app is released?
Thank you very much for your support.
Topic:
App & System Services
SubTopic:
Apple Pay
We have used the ApplePayRecurringRequest parameter required for Apple Pay subscriptions, but during testing the payment, the Apple Pay payment page shown to the user remains the same as the one-time payment page, without any subscription information. Could you please check if there is an issue with our parameters or if there is an issue with the merchantIdentifier being used?
Here is the ApplePayRequestData that we are using.
{
"supportedMethods": "https://apple.com/apple-pay",
"data": {
"version": 3,
"merchantIdentifier": "***",
"merchantCapabilities": [
"supports3DS",
"supportsCredit",
"supportsDebit"
],
"supportedNetworks": [
"visa",
"masterCard"
],
"countryCode": "US",
"recurringPaymentRequest": {
"paymentDescription": "A description of the recurring payment to display to the user in the payment sheet.",
"regularBilling": {
"label": "Recurring",
"amount": "4.99",
"paymentTiming": "recurring",
"recurringPaymentStartDate": "2025-06-02T16:00:00.000Z"
},
"trialBilling": {
"label": "7 Day Trial",
"amount": "0.00",
"paymentTiming": "recurring",
"recurringPaymentEndDate": "2025-06-02T16:00:00.000Z"
},
"billingAgreement": "A localized billing agreement displayed to the user in the payment sheet prior to the payment authorization.",
"managementURL": "https://applepaydemo.apple.com",
"tokenNotificationURL": "https://applepaydemo.apple.com"
},
"additionalLineItems": [
{
"label": "7 Day Trial",
"amount": "0.00",
"paymentTiming": "recurring",
"recurringPaymentEndDate": "2025-06-02T16:00:00.000Z"
},
{
"label": "Recurring",
"amount": "4.99",
"paymentTiming": "recurring",
"recurringPaymentStartDate": "2025-06-02T16:00:00.000Z"
}
]
}
What am I missing in my checking for whether or not to offer Apple Pay on my website?
<script async crossorigin
src="https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js"
></script>
...
<style>
apple-pay-button {
display: none;
}
</style>
...
<apple-pay-button buttonstyle="black" type="plain" locale="en-US" onclick="startApplePay('${APPLE_PAY_MERCHANT_ID}','${paymentForm.amount}');"></apple-pay-button>
So, the button is not displayed by default. I only change the style to displayed if:
window.onload = function() {
if (isApplePaySupported()) {
document.querySelector("apple-pay-button").style.display = "inline-block";
};
}
function isApplePaySupported() {
return (window.PaymentRequest &&
window.ApplePaySession &&
ApplePaySession.canMakePayments() &&
ApplePaySession.supportsVersion(applePayVersion));
}
Yet, once in a while a click comes through that tries to create a PaymentRequest with
const applePayMethod = {
"supportedMethods": "https://apple.com/apple-pay",
"data": {
"version": applePayVersion,
"merchantIdentifier": merchantIdentifier,
"merchantCapabilities": [
"supports3DS"
],
"supportedNetworks": [
"amex",
"discover",
"masterCard",
"visa"
],
"countryCode": "US"
}
};
and results in:
NotSupportedError, The payment method is not supported
What else might be "not supported" in the request for this particular user/device/wallet? In particular, that could be known immediately when the PaymentRequest is created, but before any payment instrument from the wallet is selected?
And, is there anything I could detect before showing the button?
Or, is it even possible for the button to be clicked by some kind of automation, even if it's not displayed?
Hello everyone, I have a small error 23. I wanted to know if you also already have this error so in the simulator it works, I have no error, but once I do in the TestFlight I have the error that appears error 23, can anyone help me on this? Thanks a lot.
Hello,
We are experiencing an issue with Apple Pay integration in our application. We are using WKWebView to handle various payment methods, but we are unable to complete payments via Apple Pay.
Upon debugging the WKWebView, we received the following error message: "400 No required SSL certificate was sent" when attempting to process the payment.
Currently, we are using a Let's Encrypt SSL certificate. Could you please confirm whether this certificate is suitable for Apple Pay, or if we should be using a different SSL certificate?
Topic:
App & System Services
SubTopic:
Apple Pay
Tags:
Apple Pay on the Web
Apple Pay
Tap to Pay on iPhone
Hi,
For one of my projects, I am using the Web Drop-in component of Adyen PSP on a Salesforce B2B Commerce site. One of the payment methods is Apple Pay. The payment method is rendered, but the Apple Pay button is not clickable. We tried debugging it but could not identify the root cause. Could you advise how this issue can be fixed?
Thanks
Topic:
App & System Services
SubTopic:
Apple Pay
Why did my sandbox test fail due to not being able to obtain the product list?
Topic:
App & System Services
SubTopic:
Apple Pay
Hello,
I am currently testing an Adyen integration with Sylius and need to verify Apple Pay with Cartes Bancaires in the sandbox environment. Could you please advise how Cartes Bancaires can be tested in Apple Pay Sandbox (e.g. cards details)?
Thank you in advance for your guidance.
Best regards,
Grzegorz
We have an app that uses the pass-presentation-suppression entitlement and calls requestAutomaticPassPresentationSuppression to prevent the Wallet app from being presented when the device is displaying a barcode to a barcode/nfc reader.
This works as expected for users of the standard Apple Wallet app. However, it does not prevent third-party wallet apps from being launched, which hides the barcode and prevents it from being scanned properly.
What options do I have to prevent third-party wallet apps from launching or interfering while our app is actively presenting a barcode?
Topic:
App & System Services
SubTopic:
Apple Pay
Hello,
I am setting up a feature for my company's banking app that allows users to add their payment/debit card they have with us to the Apple Wallet on their device. We have the in-app provisioning entitlement setup and configured in the app and configured with our banking partner/TSP. We are able to manually provision production environment cards via the Wallet app.
I am using test card data from my TSP. I send them the two certificates, nonce, and nonce signature data and am given activationData, encryptedPassData, and an ephmeralPublicKey that we then set on an instance of PKAddPaymentPassRequest. We call the handler on the delegate method that is called with that request object and get an error:
The operation couldn’t be completed. (PKPassKitErrorDomain error 2.)
Looking at the PassKit library shows this is PKUnsupportedVersionError - Unsupported pass version.
Our TSP hasn't been super helpful in troubleshooting this issue and just said we should contact Apple as it is an Apple error.
I am trying to figure out if the issue is with how we are implementing the feature or with the test data itself given to us.
Topic:
App & System Services
SubTopic:
Apple Pay
Hello
My app has implementation of In App Provisioning which is working fine. We have now added Wallet Extensions to it, but my App is not shown in Apple Wallet "From apps on your iphone"
I have uploaded Feedback (FB16450547) at
https://feedbackassistant.apple.com/feedback/16450547
Kindly request for your advice
Hello! We use Apple's "master account" scheme to register new clients trough API due to the fact that the number of merchant IDs in a developer account cannot exceed 100 records. It's been almost a year since we successfully used the master account ( ex. "merchant.com.xxx") and register clients via Postman. At the moment, the certificates for the master merchant ID start to expire on July 11 which will affect all customers which is under Master ID. We know that when updating certificates at the identifier level(our master id), new universal identity certificate files that we use to send to the merchants (merchant_id.pem, privkey.key) will be generated for authentication on the merchant side, as well as a new keystore. Since many of our clients are integrated with current files and keystores and have live traffic, we would like to know—is it possible to update certificates on the master account without changing the keystores and certificate identities? The impossibility of this will entail a large gap when switching to new certificates. Thanks in advance for your answer.
Topic:
App & System Services
SubTopic:
Apple Pay
Hello,
we develop a banking app and have successfully provisioned our cards (they are in the Wallet). But the method passes() of PassKit library always returns empty list.
What may be the reason of this?
Thanks.
Topic:
App & System Services
SubTopic:
Apple Pay
We have a checkout page on which clients can configure the providers we've integrated with for each currency.
One such provider is Stripe, with which we have already integrated ApplePay and host a merchant domain association file.
Now, we're getting requests to support ApplePay with other providers.
The issue is that we can't tell Apple to use a different path to domain association file for domain verification.
And, replacing the existing domain association file seems like a hack, since I believe it's needed for domain re-verification.
We're thinking of using subdomains for serving the domain association files for different providers.
But, we have some questions on how ApplePay domain verification works to understand how we can solve our problem.
Firstly, can we use subdomains for individual domain verification? If we already have example.com verified with Stripe, can we serve the domain association file for the other provider with provider.example.com and have the verification work?
Secondly, let's say our domain is example.com, and we can use provider.example.com to serve the domain association file and verify the domain. Then on example.com/checkout, will using an iframe with provider.example.com/applepay to host the ApplePay button work?
This thread suggests otherwise, but we want to confirm.
Lastly, is the only way to make an ApplePay payment for provider.example.com to use that subdomain? So redirecting to provider.example.com/applepay would work?
Thanks for your help!
To perform the integration, it must be done under the same domain that has been validated. Is it not possible to do it in a local environment?
Could that be the reason why I can't display the button or complete the validation with the API?
I am attempting to verify my domain
https://technoq.genesistechnologies.tech
for use with Apple Pay Merchant ID. However, when I attempt verification, the process fails with the message:
“Domain verification failed.”
Unfortunately, no additional details are provided.
I have already completed the following steps:
Downloaded the verification file apple-developer-merchantid-domain-association.txt.
Placed it in the .well-known directory as instructed.
Confirmed that it is publicly accessible at:
https://technoq.genesistechnologies.tech/.well-known/apple-developer-merchantid-domain-association.txt
Verified that a valid SSL certificate is configured for the domain.
Could you please advise on why the verification might be failing and what additional steps I should take to resolve this issue?
During the development of our 3D game project, we encountered high memory usage requirements. To address this, we enabled Apple’s Extended Virtual Addressing (EVA) and Increased Memory Limit services.
We have confirmed that both services were enabled in the developer backend as well as in Xcode, and we also used updated development and distribution certificates when building the app. However, in our validation process, it seems that EVA and Increased Memory Limit are not taking effect — the game still experiences memory overflow and crashes.
Could you please advise:
The correct steps to properly use Extended Virtual Addressing and Increased Memory Limit;
How we can confirm whether these services are functioning as expected?
Hi, we are implementing the push provisioning via the Apple Wallet Extension starting from the example at https://developer.apple.com/documentation/passkit/implementing-wallet-extensions.
To correctly manage the push provisioning on Apple Watch, specifically for a card tokenised in the iPhone but not in the Watch, we need to know if there is a connected Apple Watch to the iPhone.
We are using the following code from the Apple Wallet Extension example to detect whether there is a connected watch:
WCSession* session = [WCSession defaultSession];
session.delegate = delegate;
[session activateSession];
In the main target of the app, at the end of the activation the system correctly calls the delegate method:
session:activationDidCompleteWithState:error:
but we noticed it is not being called in the UI extension context (the one having NSExtensionPointIdentifier: com.apple.PassKit.issuer-provisioning.authorization).
We don't understand why the delegate is not being called in the UI extension, can you please help?
Thanks!
Steps to Reproduce:
Start with a card not added in the Apple Wallet app
Open the Apple Wallet app
Click on add card
Select the app to launch the Wallet Extension flow
The Apple Wallet Extension with UI is on screen and invokes the activateSession method, the delegate method is not invoked and session.isPaired returns "no".
Xcode Version
16.2
macOS Version
15.6.1 (24G90)
Feedback ID
FB20082564