Hello,
We are currently developing an application that uses the Host-based Card Emulation (HCE) entitlement to enable corporate access functionality. With this entitlement, we have successfully established HCE communication and can interact with our access control systems to unlock doors.
Our question is related to improving the user experience:
We would like this access functionality to work without requiring the app to be in the foreground, as this adds friction for users during entry.
Specifically, we would like to know:
Is it possible for our app to coexist with Apple Wallet as the default contactless app, so that:
Our app handles NFC interactions for corporate access (e.g., opening doors).
Apple Wallet remains the default for payments.
If that coexistence is not possible, and our app is set as the default contactless app,
Will the system still need to launch our app into the foreground to complete a transaction (e.g., to emulate the NFC card)?
Or is there a way to trigger HCE responses in the background (e.g., using a background process or service extension)?
Any guidance on how to configure the app for optimal background access behavior, while maintaining compatibility with Wallet, would be greatly appreciated.
Thank you in advance.
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, I am the developer of this app and I was shared this receipt which strangely does not list my name as the merchant but instead says "The flow network" as you can see below:
What is going on?
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
Bank Accounts details are outdated and status is stack on processing with error: "Your banking updates are processing, and you should see the changes in 24 hours. You won't be able to make any additional updates until then."
This is now stack for a few years since we activated a previous Apple developer account. we must change banking details as it holds up development of an app with in-app purchases.
Finance department has been contacted and they do not answer
What shall we do? senior support staff keep referring to finance department and is not helping
Topic:
App & System Services
SubTopic:
Apple Pay
Hi,
We are trying to make the PKAddPaymentPassViewController to show the correct list of devices to where the pass can be added.
We have analysed the documentation and we are using the PrimaryAccountIdentifier field which is the field that supposedly controls this behavior but the list of devices presented in the view controller always include one iPhone and one Apple Watch, regardless of where the card has been already added.
We are initializing the PKAddPaymentPassRequestConfiguration object with:
PKEncryptionScheme
PrimaryAccountIdentifier
CardholderName
PrimaryAccountSuffix
LocalizedDescription
PaymentNetwork
PrimaryAccountIdentifier
CardholderName
PrimaryAccountSuffix
LocalizedDescription
We have also verified the configuration in our payment pass processor and everything should be ok.
We would like to have some help on achieving the desired flow for Apple Pay, which is to present the PKAddPaymentPassViewController with the correct list of available devices and not the full list.
Thank you.
My client has provided me with admin access to the Apple Developer console. However, when I log in, I am prompted to enroll in the Apple Developer Program. Should I proceed with the enrollment myself, or does the client need to complete the enrollment from their own account?
Topic:
App & System Services
SubTopic:
Apple Pay
I'm currently integrating Apple Pay with my payment provider, and I'm encountering a signature validation error during the payment flow.
Here's the setup:
I’ve verified that my Merchant Certificate is valid, and I'm able to initialize the Apple Pay session without any issues. Also this curl works fine
The Payment Processing Certificate was created by my PSP.
PSP claims that the payment token signature is invalid during the transaction phase, which prevents payment completion.
The parsed signature starts like this
0:d=0 hl=2 l=inf cons: SEQUENCE
2:d=1 hl=2 l= 9 prim: OBJECT :pkcs7-signedData
13:d=1 hl=2 l=inf cons: cont [ 0 ]
15:d=2 hl=2 l=inf cons: SEQUENCE
17:d=3 hl=2 l= 1 prim: INTEGER :01
20:d=3 hl=2 l= 13 cons: SET
22:d=4 hl=2 l= 11 cons: SEQUENCE
24:d=5 hl=2 l= 9 prim: OBJECT :sha256
35:d=3 hl=2 l=inf cons: SEQUENCE
37:d=4 hl=2 l= 9 prim: OBJECT :pkcs7-data
48:d=4 hl=2 l= 0 prim: EOC
50:d=3 hl=2 l=inf cons: cont [ 0 ]
52:d=4 hl=4 l= 995 cons: SEQUENCE
56:d=5 hl=4 l= 904 cons: SEQUENCE
60:d=6 hl=2 l= 3 cons: cont [ 0 ]
62:d=7 hl=2 l= 1 prim: INTEGER :02
65:d=6 hl=2 l= 8 prim: INTEGER :16634C8B0E305717
75:d=6 hl=2 l= 10 cons: SEQUENCE
77:d=7 hl=2 l= 8 prim: OBJECT :ecdsa-with-SHA256
87:d=6 hl=2 l= 122 cons: SEQUENCE
89:d=7 hl=2 l= 46 cons: SET
91:d=8 hl=2 l= 44 cons: SEQUENCE
93:d=9 hl=2 l= 3 prim: OBJECT :commonName
98:d=9 hl=2 l= 37 prim: UTF8STRING :Apple Application Integration CA - G3
I'm looking for guidance on what could be causing this signature failure.
Does anyone know what else I can check regarding the merchant or payment processing certificates, private keys, or key usage that might cause Apple Pay signature validation to fail, even if the session initializes successfully? Domains are also verified.
Any help or suggestions would be greatly appreciated.
I'm implementing Apple Pay in my Flutter web app and I'm following the guidelines for domain verification using the apple-developer-merchantid-domain-association file.
When I access the file at https://mydomain.com/.well-known/apple-developer-merchantid-domain-association through my web app, the browser silently downloads the file instead of displaying its content on the webpage.
My question is:
Is this the expected behavior for the apple-developer-merchantid-domain-association file? Should the browser download the file silently, or is there another step required, such as displaying the content on the webpage for verification purposes?
I've consulted some resources and they indicate that the file download is the correct behavior. However, I'd appreciate confirmation from the community to ensure I'm implementing the verification process correctly.
Summary is how do we know if apple has verified it?
I am currently working on decrypting Apple Pay tokens with Laravel PHP, and I have encountered a few uncertainties regarding the decryption process and the usage of AES-GCM.
Could you please clarify the following points:
Algorithm Confirmation:
Am I using the correct algorithm for decrypting the data key? Specifically, I am utilizing AES-256-GCM with the algorithm ID "id-aes256-GCM" (2.16.840.1.101.3.4.1.46), as specified in the documentation.
Is this the recommended algorithm for decrypting the Apple Pay token's data key?
Authentication Tag:
In the decryption process, it seems that an authentication tag is required, but I am not sure where to obtain it from. Could you confirm how the authentication tag is generated or provided during the encryption process?
If the tag is part of the token or is transmitted separately, could you clarify where I can retrieve it in order to proceed with the decryption successfully?
IV and Other Parameters:
I am using an initialization vector (IV) of 16 null bytes (00000000000000000000000000000000) as specified in the documentation. Could you confirm that this is correct and aligns with the expected parameters for the AES-GCM decryption?
Are there any other specific parameters or considerations I should be aware of when implementing the decryption of Apple Pay tokens?
GCM vs Other Encryption Modes:
Can you confirm that AES-GCM is the preferred and required encryption mode, or is there any flexibility to use other modes (e.g., AES-CBC) without compromising security?
Your guidance would be greatly appreciated to ensure I am following the correct decryption procedure for Apple Pay tokens.
Thank you in advance for your support.
Topic:
App & System Services
SubTopic:
Apple Pay
Dear Apple Developer Support,
I would like to request a technical escalation to the engineering team regarding an ongoing issue with Apple Pay domain verification.
Error returned by Apple
Even though Apple’s request to our domain returns HTTP 200, the verification still fails with:
resultCode: 13014
resultString: "Domain verification failed. Review your TLS Certificate configuration to confirm that the certificate is accessible and a supported TLS Cipher Suite is used."
requestUrl: https://developer.apple.com/services-account/QH65B2/account/ios/identifiers/verifyDomain
TLS Certificate Validation
We performed a full TLS analysis:
Certificate issued by Sectigo Public Server Authentication CA DV E36 (public trusted CA)
Full and correct certificate chain
No handshake errors
Configuration fully valid
SSL Labs rating: A
From our side, the TLS configuration is confirmed to be correct.
Accessibility of the .well-known file
The file is publicly and accessible
It returns 200 OK and the content is exactly identical to the file downloaded from the Apple Developer Portal, without any modification.
Our network team confirmed that Apple’s verification request also receives HTTP 200 when pressing “Verify” in the Apple Developer Console.
Network-side findings
We monitored Apple’s request in real time. Findings:
TLS handshake succeeds
No cipher mismatch
File delivered correctly
Status: 200 OK
No redirect or transformation applied
Despite this, Apple still returns error 13014.
Request for engineering review
We kindly request that an Apple engineer verify the following:
The actual TLS handshake performed by Apple's verification service (cipher suite, protocol negotiation, SNI, trust chain).
Whether the Sectigo issuing CA is fully trusted and supported by your domain-verification backend.
If there is an internal reason behind error 13014—since the external message does not provide actionable details.
Whether the response is rejected for reasons other than TLS, given that the file is accessible and the request returns 200.
The exact condition that leads Apple to report “TLS Certificate configuration is incorrect” in this case.
This issue is blocking an urgent deployment and must be resolved as soon as possible.
Existing case reference
Case ID: 102760005987
We are fully available to provide:
full response headers
packet captures (PCAP)
SSL/TLS diagnostics
file integrity checks
server configuration details
or join a technical call (Teams / WebEx)
Thank you in advance for the escalation.
Andrea
Topic:
App & System Services
SubTopic:
Apple Pay
Hello,
I am developing an Apple Pay and In-App Provisioning integration for the bank where I work. All entitlements are properly configured, and we are integrated correctly with our Payment Network Operator (PNO).
We are using PKAddPaymentPassViewControllerDelegate to handle the provisioning process. The flow progresses as expected up to the Terms and Conditions screen. However, after accepting the terms, the process fails with the message:
"Could not add card."
Upon checking the device logs using the Wallet profile configuration, I observed the following response from Apple's backend:
Response:
https://nc-pod10-smp-device.apple.com:443/broker/v4/devices/041315032816900221610987313158566F368A9CEBA1291E/cards/745f792b9d0644e5a6e713d54f505296/enable 500 Time profile: 1.80458 seconds
{
x-conversation-id = "6ec59a63424f4035915e32f22ea645e4"
Vary = "accept-language"
Content-Type = "application/json"
x-pod = "nc-pod10"
x-keystone-correlationid = "E3DD5A5A-FD18-4500-8570-2BD1334E281C"
Date = "Thu, 17 Apr 2025 07:05:03 GMT"
x-apay-service-response-details = "via_upstream"
Content-Length = "49"
x-envoy-upstream-service-time = "964"
x-pod-region = "paymentpass.com.apple"
}
{
errorCode = 40456;
statusCode = 500;
}
This seems to indicate that the card enablement step is failing on the server side. Our internal systems have not logged any request failure from Apple at this step, which makes it difficult to pinpoint whether the issue is in the PNO integration, entitlement configuration, or something else.
We are currently testing in a production environment on a physical device (not using sandbox), and provisioning flows are initiated through our iOS app using PKAddPaymentPassRequest.
Could you please help us interpret error code 40456 and identify what steps we should take to resolve this issue? If needed, we can also provide the full device log and additional details.
Thank you in advance for your support.
Best regards,
Mansur Bagwan
Hi,
we are trying to verify our domain and we uploaded the file to our domain
{DOMAIN}/.well-known/apple-developer-merchantid-domain-association.txt and we can access it. But when we want verify the domain in your platform we can't do it and you see the message "Domain verification failed". How can we verified or if we need change something in our side to verify it?
thanks!
Team,
We are currently checking out on Apple Pay using ALL and MRU as currencies. We have authorized the payment via Touch ID; however, we are not receiving the onPaymentAuthorized event.
Could you please confirm if Apple Pay supports ALL and MRU currencies? We have confirmed that it works with other currencies.
Thank you!
Topic:
App & System Services
SubTopic:
Apple Pay
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
Hello everyone,
We're implementing Apple Pay on the web and are already live, processing transactions. However, we've noticed that occasionally the onlinePaymentCryptogram returned in the paymentData contains spaces, causing it to be rejected by acquirers.
Has anyone else encountered this issue? Any insights would be greatly appreciated.
We’re attempting to call the Apple Pay Web Merchant Registration API using our Platform Integrator flow and consistently receive 401 Unauthorized, despite successful TLS/mTLS.
Details:
Endpoint: https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant (POST)
Payload:
{
"domainNames": ["breakerfy.com"],
"encryptTo": "platformintegrator.ai.packman",
"partnerInternalMerchantIdentifier": "merchant.ai.packman.1",
"partnerMerchantName": "breakerfy",
"merchantUrl": "https://breakerfy.com"
}
Domain association:
URL: https://breakerfy.com/.well-known/apple-developer-merchantid-domain-association
What we tried:
We created a Payment Platform Integrator ID (platformintegrator.ai.packman)
We created a CertificateSigningRequest
We used the certificate signing request to create an Apple Pay Platform Integrator Identity Certificate and downloaded the signed certificate.
We exported the Private Key from keychain access in PKCS 12 format
We converted both the private key and the signed certificate to PEM format
We created a merchant id
We used the converted keys to send requests to the API
We received {
"statusMessage": "Payment Services Exception Unauthorized",
"statusCode": "401"
}
we also tried curl with the original p12 file and also had no luck.
What could be the issue ?
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
I am writing regarding an issue I have encountered while attempting to complete a payment using test users created within the Sandbox environment of Apple Pay. The problem persists specifically when trying to make payments through the demo page at https://applepaydemo.apple.com/.
Problem Description:
When initiating a payment process with either of the following test user accounts.
The flow proceeds as follows:
The Apple Pay window appears correctly.
Processing begins but does not conclude successfully.
After processing concludes, there is no prompt for 'Pay with Touch ID'.
Additional Information:
Device & OS Version: MacOS 15.3.2
Browser & Version: Safari 18.3.1
Real Device or Simulator: Real device used
First Occurrence: Before January 1st, 2025
Custom Configurations or Backend Used: No custom configurations or backend modifications are being utilized during interaction with the demo page.
Could you please provide assistance in resolving this issue?
I developed a web app using .net c#. The app runs a workflow which included Apple payment. App can work on any browser of any device (even non-IOS).
When the app is browsed using PC windows Chrome browser, the payment sheet will show with QR code to scan using iPhone. If I cancelled the pop-up by clicking on X without scanning the code, and then returned to idle screen and performed another payment, I will reach paymentRequest.Show() but nothing will show and no errors are logged in console.
Note that:
I use Payment Request API
The issue appear on the second payment.
The issue will be solved once I refresh the page.
My app supports both single and separate pages mode and issue appear on both.
I used to see an error "Uncaught NotSupportedError: Failed to execute 'define' on 'CustomElementRegistry': the name apple spinner has already been used with this registry. So I thought the issue might be in loading the apple SDK script multiple times, and solved the issue to be loaded only once. The error disappeared but the issue persist without errors.
Currently, on our Production environment, when calling https://apple-pay-gateway.apple.com/paymentservices/paymentSessio,n we are randomly receiving:
"Payment Services Exception merchantId={Value} unauthorized to process transactions on behalf of merchantId={Value} reason={Value} is not a registered merchant in WWDR and isn't properly authorized via Mass Enablement, either."
Since launching Apple Pay on our platform we have received a new Domain Verification File and looking at some of the Domain Verification File that are hosted on the domains they are different to ours.
Questions around the Domain Verification File
Would we have to update every single Domain Verification File every time we receive a new one ?
Does the paymentSession verfiy/call the Domain Verification File on the domain listed at https://[DOMAIN_NAME]/.well-known/apple-developer-merchantid-domain-association ?
What happens if the Domain Verification File doesnt match the one that we currently have ?
Would we have to regrester our Domains everytime we get a new Domain Verification File ?
Topic:
App & System Services
SubTopic:
Apple Pay