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
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
Is MANUAL_ENTRY mandatory for Apple Pay or may an issuer block it and rely only on PKAddPaymentPass?
We plan to set Manual PAN Entry Allowed = N and accept only issuer push provisioning (PKAddPaymentPass).
Is there any Apple Pay programme rule that obliges us to keep MANUAL_ENTRY enabled?
Will disabling it affect “Participating Issuer” listing?
Topic:
App & System Services
SubTopic:
Apple Pay
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
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.
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 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.
Cybersource production support has clarified issue as below
"On the BAD Case, it seems that the Apple Payload did not contain the "onlinePaymentCryptogram" object within the JSON. The Cryptogram is critical and mandatory.
Since the merchant cannot really control this, and since CYBS is just decrypting the payload and uses it, we cannot comment as to why it was missing.
The merchant would need to reach out to Apple and/or decrypt the payment themselves locally to check if and why this data was not present, for troubleshooting purposes."
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 are integrating Apple Pay In-App Provisioning in our banking application using an external SDK. The provisioning flow works on the iOS Simulator (mock sheet appears), but fails on real devices via TestFlight with the error:
internalInconsistency: "PKAddPaymentPassViewController can not be created"
Environment:
Xcode 16
iOS 18
Real device: iPhone (tested via TestFlight / Distribution build)
Card network: Mastercard
What we've verified:
com.apple.developer.payment-pass-provisioning entitlement is set to YES in our .entitlements file
The entitlement is confirmed present in our Development provisioning profile via security cms -D -i embedded.mobileprovision | grep payment-pass → returns <true/>
PKAddPaymentPassViewController.canAddPaymentPass() returns true on the device
The card is NOT already in Apple Wallet (0 local/remote Secure Element passes)
All provisioning data is present and valid (encryptedPayload, authorizationCode, primaryAccountSuffix, cardholderName)
The external SDK is configured successfully at app launch
Diagnostic logs from TestFlight build:
canAddPaymentPass: true
Local SE passes: 0
Remote SE passes: 0
suffix: 6165
name: [redacted]
encryptedPayload length: 1130
authCode length: 514
scheme: Mastercard
Card already in Wallet: false
Error: internalInconsistency("PKAddPaymentPassViewController can not be created")
Testing matrix:
Environment
Result
Simulator
Mock sheet appears (not a real test)
Device + Debugger attached
PKAddPaymentPassViewController error
Device + Debugger detached (Dev build)
SDK error 903: "device environment unsafe"
TestFlight (Distribution)
PKAddPaymentPassViewController cannot be created
Questions:
Can PKAddPaymentPassViewController fail to be created even when canAddPaymentPass() returns true? What other conditions could cause this?
Is there a way to verify that the Distribution provisioning profile correctly includes the payment-pass-provisioning entitlement after it has been approved by Apple?
Are there any additional Apple Pay entitlements or configurations (e.g., Wallet merchant setup, pass type identifiers) required beyond com.apple.developer.payment-pass-provisioning for In-App Provisioning to work?
Does regenerating the Distribution provisioning profile on Apple Developer Portal resolve cases where entitlements were added after the profile was originally created?
Any guidance would be greatly appreciated. Thank you.
We are looking for sample payload for merchant registration API.
We have tried to test the api and getting an error.
Request:
curl --location 'https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant'
--header 'Content-Type: application/json'
--data '{
"domainNames": "https://checkout.dev.sandbox-netvalve.com",
"encryptTo": "platformintegrator.com.netvalve.uat",
"partnerInternalMerchantIdentifier": "merchant.test.netvalve",
"partnerMerchantName": "Test"
}'
Response:
{
"statusMessage": "Payment Services Exception invalid or Malformed Json Received",
"statusCode": "400" }
Topic:
App & System Services
SubTopic:
Apple Pay
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
Hi,
We're experiencing an issue with verifying our domain for Apple Pay on the web. It's currently stuck in the "Pending" state despite meeting the listed requirements. The domain in question has been verified once successfully but one month later when we renewed the SSL, we were unable to verify the domain again. Please note that the new certificate's CA chain has been changed.
A) The "apple-developer-merchantid-domain-association.txt" file is publicly accessible at the following location:
/.well-known/apple-developer-merchantid-domain-association.txt
B) We've also ensured that the following IP ranges are whitelisted:
17.32.139.128/27
17.32.139.160/27
17.140.126.0/27
17.140.126.32/27
17.179.144.128/27
17.179.144.160/27
17.179.144.192/27
17.179.144.224/27
17.253.0.0/16
17.23.4.96/27
17.132.108.64/26
17.23.24.32/27
17.23.19.0/27
17.157.40.128/27
17.157.44.128/27
17.157.32.0/27
C) Our servers support TLS 1.2 already.
D) "ECDHE-RSA-AES128-GCM-SHA256" cipher suite has been used, so we believe all necessary criteria are satisfied.
However, when we attempt to verify the domain, we receive the following error message:
"Domain verification failed. Review your TLS Certificate configuration to confirm that the certificate is accessible and a supported TLS Cipher Suite is used."
Could you please advise why the verification is failing, or let us know if there's anything we might have missed?
Best regards,
Mehdi
Hi!
I am working on automating the Apple Pay integration process in our CI/CD pipeline and would like to confirm whether a fully automated setup is currently possible for our preproduction environment.
Right now, our process is as follows:
A certificate is generated for the root domain and for each individual merchant subdomain.
Both certificates are manually uploaded to our preproduction servers to test and verified via HTTP.
We’d like to automate this flow in GitLab CI, mainly the generation of the necessary certificates programmatically or via API. However, from my research, it seems that Apple does not currently provide an API or any support to automate this task, but I’d like to confirm this directly with you.
Is there any official support or workaround for this kind of automation?
If not, do you have any plans to provide it in the future?
Thanks in advance for your help.
We are on a .NET ecommerce site hosted on AWS on a windows 2012R2 server. We have apple pay for the web integrated on the site and the certificates (merchant id and apple pay) were set to expire shortly. We created a new merchant id and apple pay cert, however we are now stuck as the new merchant ID certificate doesn't appear to be working although the old one did. Note there have been no code changes. Basically the apple pay process is failing on the merchant validation.
Here are the steps we took:
Created a CSR in Keychain Access
Generated a Merchant ID cert in the Apple Developer account with that CSR.
Imported the Merchant ID cert back into Keychain Access and exported as a p12 file the cert and the private key used to generate the CSR.
Imported the p12 file into Windows 2012 R2.
I can see in our debugging that the new certificate is being loaded but a SSL/TSL connection couldn't be made. So it seems there is an issue with the cert.
Has anyone encountered this? I'm out of ideas at this point and under a lot of pressure from management to fix what was supposed to be a routine maintenance issue.
If anyone has any ideas, that would be greatly appreciated.
Hi there,
is there a way, or a list of test cards, to simulate error on payment in an Apple Pay sandbox environment ?
I tried different cards mentioned here but every try was successful : https://developer.apple.com/apple-pay/sandbox-testing/
Topic:
App & System Services
SubTopic:
Apple Pay
Is there a way to allow ApplePay to make deferred payments to a suite of stores, or will each store need the user to initially approve a payment manually?
Topic:
App & System Services
SubTopic:
Apple Pay
We have developed Apple Wallet Extension for our App. The in-app provisioning for the card is working. However when we try to add the card from Wallet extension it gives error saying "Your issuer does not yet offer support for this card".
From the apple documentation we can see the issues is same as mentioned in Scenario 2 at following link https://applepaydemo.apple.com/in-app-provisioning#8.4
We are getting eligibilityStatus as 0
Below is the response from Wallet captured using SysDiagnosis
https://crt-pod1-smp-device.apple.com:443/broker/v4/devices/0434320BCB1A90022306073796318273728D0A367FA927F4/cards 200 Time profile: 1.77856 seconds
{
x-conversation-id = ......
Content-Type = "application/json"
x-pod = "crt-pod1"
x-xss-protection = "1; mode=block"
Server = "Apple"
x-pod-region = "paymentpass.com.apple"
regionbrokerurl = "https://crt-pod1-smp-device.apple.com:443/broker"
Date = "Wed, 06 Aug 2025 11:39:30 GMT"
Content-Length = "488"
x-envoy-upstream-service-time = "1400"
Strict-Transport-Security = "max-age=31536000; includeSubdomains"
cross-origin-opener-policy = "same-origin"
x-keystone-correlationid = ......
x-content-type-options = "nosniff"
Vary = "accept-language"
x-frame-options = "SAMEORIGIN"
}
{
applicationIdentifier = ......;
auxiliaryCapabilities = {
};
cardType = 4;
deviceProvisioningDataExpected = 1;
eligibilityStatus = 0;
identifier = ......;
learnMoreURL = "https://www.apple.com/ae/apple-pay/banks/ae/en-ae.html";
nonce = ......;
paymentApplications = (
{
appletTypeIdentifier = Argon;
paymentType = Credit;
}
);
region = "paymentpass.com.apple";
sanitizedPrimaryAccountNumber = 7008;
sanitizedPrimaryAccountPrefix = "";
}
Hi support,
I'm getting the following error when I tried to re-verify my domain:
Domain verification failed. Review your TLS Certificate configuration to confirm that the certificate is accessible and a supported TLS Cipher Suite is used.
I have uploaded the required apple-developer-merchantid-domain-association.txt file and it is reachable from the Internet in the proper location https://www..com/.well-known/apple-developer-merchantid-domain-association.txt.
The SSL certificate has been renewed and it offers at least one of required cipher suites based on the Apple document https://developer.apple.com/documentation/applepayontheweb/setting-up-your-server.
The current verification will expire soon. Need your help urgently.
Thanks,
YaoF
Topic:
App & System Services
SubTopic:
Apple Pay
Hello All -
I'm attempting to enable my companies app to add credit card to Apple Wallet. Part of our app enables customers to generate new virtual cards on demand and I'm attempting to enable the ability to add these cards to the Apple Wallet. Everything seems to be working all the way to the final stage of the process where I get a PKPassKitErrorDomain systemCancelled and I can't seem to find any clues as to why the system is canceling.
For context -
I have the com.apple.developer.payment-pass-provisioning entitlement. I have both the Wallet and In-App Provisioning capabilities enabled in the App. I have defined a PKAddPaymentPassViewControllerDelegate class that implements both the generateRequest and didFinishAdding methods. I'm leveraging PKAddPaymentPassViewController in SwiftUI by using a UIViewControllerRepresentable implementing class that returns the view controller properly when makeUIViewController is called. I build a PKAddPaymentPassRequest object and ensure that it is properly filled with encryptedPassData, activationData, and ephemeralPublicKey.
As a user I'm able to go to the virtual card view, open the instance of PKAddPaymentPassViewController, select the destination for the card, see the Add Card information. I get to the point where the view tells me it's contacting the card issuer and then I get an error message "Could Not Add Card - Try again later or contact your card issuer for more information" with a "Set Up Later" button. I then get the system canceled error.
I should mention that I'm able to add these virtual cards manually via the Apple Wallet. The process works similarly but requires me to provided an OTP to conclude the process. This flow works and I have active cards in my wallet.
I'm having a very hard time figuring out how to try and debug this issue further. The only error that the system returns is the system canceled notice.
Any insight into where I might be missing something or how to debug the issue further would be greatly appreciated. Any thought on how I could debug this further would also be greatly appreciated.
Thanks in advance - AYAL
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