Apple Pay

RSS for tag

Discuss how to integrate Apple Pay into your app for secure and convenient payments.

Apple Pay Documentation

Posts under Apple Pay subtopic

Post

Replies

Boosts

Views

Activity

Apple Pay on the Web – Merchant Domain Verification Fails with Let’s Encrypt Cert
Posting this here because I lost way too many hours on it and hopefully someone finds this before going down the same rabbit hole. Apple Support's support was basically asking me to check the docs and this forum for solutions. I guess it's better than saying "google it yourself", but not much better ;) The issue was that Apple Pay merchant domain verification kept failing, both automated and manual. I checked pretty much everything: domain association file HTTPS DNS TLS App Service configuration Merchant ID openssl verification The interesting part was that everything looked perfectly healthy. Browsers were happy, OpenSSL reported Verify return code: 0 (ok), and there were no TLS errors. Turned out the problem was Apple's verification mechanism incompatibility with the new Generation Y cert chain, which is used as default by Let's Encrypt. My site was using a Let’s Encrypt ECDSA certificate with this chain: → YE1 → Root YE → ISRG Root X2 I reissued it as RSA (still Let’s Encrypt), which resulted in: → YR2 → Root YR → ISRG Root X1 Apple Pay domain verification started working immediately. If you’re using Certbot: sudo certbot certonly --manual --preferred-challenges http --key-type rsa --rsa-key-size 2048 --force-renewal --cert-name yourdomain.com -d yourdomain.com I don’t know whether Apple Pay currently has an issue with Let’s Encrypt’s newer Generation Y ECDSA hierarchy, or whether something in their merchant validation infrastructure doesn’t like that chain. If you’ve already checked the usual stuff and everything looks correct, this is definitely worth trying before spending another day debugging.
0
0
465
Aug ’26
In-App Provisioning Internal Server Error 500
We are implementing In-App Provisioning functionality for our Bank but there is always 500 Internal Server Error respond by Apple server once we tried to add card to apple wallet. Our code let request = PKAddPaymentPassRequest() request.activationData = try decodeBase64(payload.activationDataText, field: "activationDataText") request.encryptedPassData = try decodeBase64(payload.encryptedDataText, field: "encryptedDataText") request.ephemeralPublicKey = try decodeBase64(payload.ephemeralPublicKeyText, field: "ephemeralPublicKeyText") return request Because of fPanId is not required so we are not pass it to Apple server and that field generated once the card already added to wallet. Please help us investigate the issue, thanks! FeedbackId 24065847 (In-App Provisioning 500 Internel Error)
11
1
655
Aug ’26
In App Provisioning 500 Internal Server Error
We are implementing In-App Provisioning functionality for our Bank but there is always 500 Internal Server Error respond by Apple server once we tried to add card to apple wallet. Our code let request = PKAddPaymentPassRequest() request.activationData = try decodeBase64(payload.activationDataText, field: "activationDataText") request.encryptedPassData = try decodeBase64(payload.encryptedDataText, field: "encryptedDataText") request.ephemeralPublicKey = try decodeBase64(payload.ephemeralPublicKeyText, field: "ephemeralPublicKeyText") return request Because of fPanId is not required so we are not pass it to Apple server and that field generated once the card already added to wallet. Please help us investigate the issue, thanks! FeedbackId 24065847 (In-App Provisioning 500 Internel Error)
0
0
372
Aug ’26
In-App Provisioning process failure (error 500)
Hello, We are implementing in-app provisioning in our banking app but are having trouble getting to the Terms & Conditions screen. User taps on “Add to Apple Wallet” > PKAddPaymentPassViewController > Next > the flow fails quickly with "Could Not Add Card -> Set Up Later" alert. The only notable thing in the logs, as far as I can see is the https://nc-pod12-smp-device.apple.com:443/broker/v4/devices/{SEID}/cards fails with: <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>Apple</center> </body> </html> and maybe ProvisioningOperationComposer: Step 'eligibility' failed with error <PKProvisioningError: severity: 'terminal'; internalDebugDescriptions: '( "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > Feedback Assistant ID: FB22932141 (Error during In-App Provisioning)
5
0
1.2k
Jul ’26
Applepay on the web: 401 Unauthorized when validating session
Hello, I', are trying to add applepay payment on our website using the PSP payxpert. They don't provide any SDK to my knowledge unlike paypal/stripe and their documentation just tell to send a few different data as usual credit card payment. But I'm stuck even before that step, we were able to add the applepay button on the site, we did setup the sandbox account on the iPhone with a test card. We could add the merchant id, created the "Apple Pay Payment Processing Certificate", the "Apple Pay Merchant Identity Certificate" and we verified the marchant domain. We have our backend request the validationURL on onvalidatemerchant. We're using PHP, and send the data in json as the example in: https://developer.apple.com/documentation/ApplePayontheWeb/requesting-an-apple-pay-payment-session The validation url we receive from applepaysession js is: https://apple-pay-gateway-cert.apple.com/paymentservices/startSession The doc mentions to add /paymentSession so I tried that as well as just the raw validationURL. Both sends me a 401 Unauthorized response. I'm not sure what missing, I double checked the merchantIdentifier matches and that the initiativeContext is correct, but no luck. I wonder if we missed a step in the configuring the server, as it say to create certificate and upload them. Then we can download the .cer files, do we need to do something with that? Kind regards
0
0
466
Jul ’26
Correct value of merchantIdentifier when using Web Merchant Registration API
Hi! We recently signed up and activated the Web Merchant Registration API and registered a few of our merchants. We registered them as: { "domainNames" : ["X"], "partnerMerchantName" : "Name", "partnerInternalMerchantIdentifier": "MID-###", "encryptTo" : "platformintegrator.X", "merchantUrl": "https://www.x" } When we make the payment with startsession, we are getting an error 400: Payment Services Exception merchantId=platformintegrator.x not registered for domain=x I suspect that this has to do with the value of merchantIdentifier we are setting in the startsession. What should it be? MID-###? The encryptTo hash of platform? platformintegrator.x? Also, what's the meaning of the property on the sub-merchant I get from the GET API call delegatedCommerce: {enabled=True}?
0
0
560
Jul ’26
Error during In-App Provisioning (eligibility step, PKErrorHTTPResponseStatusCodeKey=500)
We are implementing in-app provisioning in our fintech app; We are reaching out to ask for your help in understanding what is going wrong so we can fix it. What happens: User taps “Add to Apple Wallet” → we present PKAddPaymentPassViewController → they tap Next → after a few seconds the flow fails with "Set Up Later" alert. Device log: "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > Feedback Assistant ID: FB22176928 (In-App Provisioning issue 500 Internal Server Error)
3
2
1.3k
Jul ’26
UCOF transaction with saved card in Apple
Hello, We are implementing support for Merchant Initiated Transactions (MIT) classified as Unscheduled Card-on-File (UCOF). Could you please clarify which request object(s) and mandatory field(s) should be provided during the initial Customer Initiated Transaction (CIT) to correctly support future MIT UCOF transactions and mandatory fields also for subsequent UCOF transactions? If ApplePayRecurringPaymentRequest / RecurringTransactionInfo should be used for this scenario, could you please specify how these objects should be populated for UCOF, including the expected values of all mandatory fields? If a different request object or approach is required for UCOF, could you please provide the recommended implementation or reference documentation? Best regards,
0
0
774
Jul ’26
How can I stop needing to verify my Merchant Domain manually every month?
Our client's site uses Apple Pay, and once a month we get a series of email notifying us that the domain verification is about to expire: Your website domain that uses Apple Pay has an SSL Certificate that expires on Oct 11, 2020. We were unable to automatically to reverify your domain. To ensure uninterrupted use of Apple Pay on your website, revalidate your domain by Oct 11, 2020 in Certificates, Identifiers & Profiles. The site uses Let's Encrypt to automatically renew its SSL cert monthly. Every time that happens, we need to log into the Apple Developer tools, navigate to Certificates, Identifiers, and Profiles -> Identifiers -> Merchant IDs -> ID -> Merchant Domains, then download the file and drop it onto the server with SFTP. It's a pain. Is there a way to automate this process (or better yet, stop it from happening)? I can't imagine monthly-renewing SSL certificates is a particularly uncommon thing.
28
7
15k
Jul ’26
Apple Pay, domain verification automatic renewal not working
Hi everyone, We are integrating Apple Pay on the Web, and we're trying to get the automatic renewal of the domain verification working according to the documentation: https://developer.apple.com/documentation/apple_pay_on_the_web/maintaining_your_environment Initially the domain verification is successful, but then the automatic renewal does not work. We keep getting the emails with the subject "Your domain will expire soon.", but they only say "We were unable to automatically to reverify your domain." without any further details. We confirmed that the site's SSL certificate has already been renewed by the time Apple attempted the renewal of verification, the certs are renewed 30 days before their expiry (using Let's Encrypt). So according to the docs, at least the renewal attempts 15, and then 7 days before the expiry should be successful. One example domain is this one: https://www.kayak.com/.well-known/apple-developer-merchantid-domain-association.txt, but we have the same issue for all our other domains as well. Does anyone have suggestions how to troubleshoot this further? (I tried creating a support ticket, but they basically replied that they're non-technical, and just linked me to the documentation. I've seen others complaining about this too, but couldn't find a conclusive solution, so I thought I'd signal boost and create a fresh topic to see if there are any more recent findings about this problem.) Thanks! Regards, Mark
8
4
5.6k
Jul ’26
Deep link to specific payment pass in Apple Wallet from third party app
I am building CardNeuro, an iOS app that uses GPS to detect the nearest merchant and recommends the highest-earning credit card in the user's wallet at point of sale. Current flow: GPS detects merchant App recommends best card (e.g. Amex Gold for dining, Amazon Visa for groceries) User taps — Apple Wallet opens User has to scroll to find the right card The problem: Apple Wallet opens to the last used card, not the card we recommended. The user still has to find it manually. What I want to do: Open Apple Wallet directly to a specific payment pass so the recommended card is shown immediately and the user can double-click to pay with no extra steps. What I found in the docs: PKPassLibrary exposes a passURL property on payment passes: let passLib = PKPassLibrary() let walletURL = passLib .passes(of: .payment) .first(where: { $0.localizedName == "Amex Gold" })? .passURL if let url = walletURL { UIApplication.shared.open(url) } My questions: Does PKPassLibrary.passes(of: .payment) return cards added natively to Apple Wallet by the user — or only passes provisioned by my own app? Is opening passURL via UIApplication.shared.open() permitted for third party apps that did not provision the pass? Is a special entitlement required to read payment passes from PKPassLibrary that belong to other apps or were added natively? If deep linking to a specific payment pass is not available to third party apps — is there any recommended API or UX pattern for surfacing a specific card to the user before they tap to pay? Any guidance from the team appreciated.
0
0
511
Jul ’26
Region change issues
I want switch region UAE to Bangladesh due to enrollment process for developer account but the Bangladesh is not available there i already mailed customer support twice they are not responding.
0
0
457
Jul ’26
Premium Feature in App
Hi Everyone, I’ve made an educational app that has limited feature usage to free users but paying monthly subscribers get full access however Apple has rejected the app due to this reason and when I responded asking how to change it they said they can’t help me so does anyone know how to create a subscription that gives access to the full app without getting rejected as there are already many apps out there with this system
1
0
520
Jul ’26
ApplePay on website -validateMerchant-payment sheet stuck
I tried to integrate ApplePay on website. Followed the official documentation. Successfully creating the apple session. However according to my logs, execution doesn't even going to verify the merchant. When I click the ApplePay button the payment sheet displays and it brings the card details, but the bottom button stays "Processing". May I know what could be the reason? Our PSP is credimax. Any input to resolve this is highly appreciate. we stuck on this for last 3 months.
1
0
591
Jun ’26
ApplePay create-session API timing out
We are an Apple Pay consumer and observed elevated response times and intermittent timeouts affecting the create‑session API (apple-pay-gateway.apple.com/paymentservices/paymentSession) between approximately 8:01 PM and 8:35 PM PST today. We are reaching out to understand whether there were any service disruptions during this timeframe, as we do not see corresponding updates on the system status pages. We would like to confirm whether this behavior was related to a broader Apple Pay issue or specific to our integration.
1
0
1k
Jun ’26
Payment Services Exception Unauthorized
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 ?
2
0
937
Jun ’26
Apple Pay In-App Provisioning Failure on Apple Servers
Hi guys, we are trying to implement In-App Provisioning for our banking application. After some iterations of determining responsibilities for providing data, we managed to gather all info required, but the process is failing. When user tries to provision a card, the Provisioning UI flow stops after selecting a device to provision the card on. It presents an alert: "Could Not Add Card", and offers just "Set Up Later". Further investigation (Console.app) shows that PassbookUIService has an error saying: [qv4t2XcQQ1G+AWP9HINjFQ] ProvisioningOperationComposer: Step 'eligibility' failed with error <PKProvisioningError: severity: 'terminal'; internalDebugDescriptions: '( "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > Also, when filtering Console output by my SEID, I can see that the request is failing with HTTP 500 code: default 15:09:22.599860+0200 PassbookUIService Response: https://pr-pod10-smp-device.apple.com:443/broker/v4/devices/???/cards 500 Time profile: 0.274013 seconds { Server = "Apple" Content-Type = "text/html" X-Content-Type-Options = "nosniff" Strict-Transport-Security = "max-age=31536000; includeSubdomains" Date = "Wed, 03 Jun 2026 13:09:22 GMT" X-Frame-Options = "SAMEORIGIN" X-XSS-Protection = "1; mode=block" Cross-Origin-Opener-Policy = "same-origin" Content-Length = "170" Connection = "close" } <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>Apple</center> </body> </html> I've submitted a Feedback assistant with the guidelines found here. Feedback ID: FB22924636 (In-App Provisioning failing) Would appreciate if anyone has some pointers as to what to focus on to resolve this issue. Thank you!
2
0
889
Jun ’26
Apple Pay Connectivity Test
I am trying to start implementing the Push Provisioning (Apple Pay) process for my website. I configured a test-environment and already had a 'success' connectivity test before, even though I did not implement any TLS validation api. but for about two weeks, there is that "Environment connectivity test is unavailable due to production maintenance." message. I don't know if earlier i managed to pass the tests for real, or if that is exactly a bug Apple is working on. This message comes and goes at least 2-3 times, and you can't tell if the connectivity test works as expected or is bugged.
0
0
921
Jun ’26
Apple Pay on the Web – Merchant Domain Verification Fails with Let’s Encrypt Cert
Posting this here because I lost way too many hours on it and hopefully someone finds this before going down the same rabbit hole. Apple Support's support was basically asking me to check the docs and this forum for solutions. I guess it's better than saying "google it yourself", but not much better ;) The issue was that Apple Pay merchant domain verification kept failing, both automated and manual. I checked pretty much everything: domain association file HTTPS DNS TLS App Service configuration Merchant ID openssl verification The interesting part was that everything looked perfectly healthy. Browsers were happy, OpenSSL reported Verify return code: 0 (ok), and there were no TLS errors. Turned out the problem was Apple's verification mechanism incompatibility with the new Generation Y cert chain, which is used as default by Let's Encrypt. My site was using a Let’s Encrypt ECDSA certificate with this chain: → YE1 → Root YE → ISRG Root X2 I reissued it as RSA (still Let’s Encrypt), which resulted in: → YR2 → Root YR → ISRG Root X1 Apple Pay domain verification started working immediately. If you’re using Certbot: sudo certbot certonly --manual --preferred-challenges http --key-type rsa --rsa-key-size 2048 --force-renewal --cert-name yourdomain.com -d yourdomain.com I don’t know whether Apple Pay currently has an issue with Let’s Encrypt’s newer Generation Y ECDSA hierarchy, or whether something in their merchant validation infrastructure doesn’t like that chain. If you’ve already checked the usual stuff and everything looks correct, this is definitely worth trying before spending another day debugging.
Replies
0
Boosts
0
Views
465
Activity
Aug ’26
unable to add sandbox mastercard to iwatch wallet
unable to add sandbox mastercard to iwatch wallet, no issue for amex. slightly difficult and failed but in the end managed to add visa after several manual input sandbox test card. Please take a look at 23315137
Replies
3
Boosts
0
Views
770
Activity
Aug ’26
In-App Provisioning Internal Server Error 500
We are implementing In-App Provisioning functionality for our Bank but there is always 500 Internal Server Error respond by Apple server once we tried to add card to apple wallet. Our code let request = PKAddPaymentPassRequest() request.activationData = try decodeBase64(payload.activationDataText, field: "activationDataText") request.encryptedPassData = try decodeBase64(payload.encryptedDataText, field: "encryptedDataText") request.ephemeralPublicKey = try decodeBase64(payload.ephemeralPublicKeyText, field: "ephemeralPublicKeyText") return request Because of fPanId is not required so we are not pass it to Apple server and that field generated once the card already added to wallet. Please help us investigate the issue, thanks! FeedbackId 24065847 (In-App Provisioning 500 Internel Error)
Replies
11
Boosts
1
Views
655
Activity
Aug ’26
In App Provisioning 500 Internal Server Error
We are implementing In-App Provisioning functionality for our Bank but there is always 500 Internal Server Error respond by Apple server once we tried to add card to apple wallet. Our code let request = PKAddPaymentPassRequest() request.activationData = try decodeBase64(payload.activationDataText, field: "activationDataText") request.encryptedPassData = try decodeBase64(payload.encryptedDataText, field: "encryptedDataText") request.ephemeralPublicKey = try decodeBase64(payload.ephemeralPublicKeyText, field: "ephemeralPublicKeyText") return request Because of fPanId is not required so we are not pass it to Apple server and that field generated once the card already added to wallet. Please help us investigate the issue, thanks! FeedbackId 24065847 (In-App Provisioning 500 Internel Error)
Replies
0
Boosts
0
Views
372
Activity
Aug ’26
In-App Provisioning process failure (error 500)
Hello, We are implementing in-app provisioning in our banking app but are having trouble getting to the Terms & Conditions screen. User taps on “Add to Apple Wallet” > PKAddPaymentPassViewController > Next > the flow fails quickly with "Could Not Add Card -> Set Up Later" alert. The only notable thing in the logs, as far as I can see is the https://nc-pod12-smp-device.apple.com:443/broker/v4/devices/{SEID}/cards fails with: <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>Apple</center> </body> </html> and maybe ProvisioningOperationComposer: Step 'eligibility' failed with error <PKProvisioningError: severity: 'terminal'; internalDebugDescriptions: '( "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > Feedback Assistant ID: FB22932141 (Error during In-App Provisioning)
Replies
5
Boosts
0
Views
1.2k
Activity
Jul ’26
Applepay on the web: 401 Unauthorized when validating session
Hello, I', are trying to add applepay payment on our website using the PSP payxpert. They don't provide any SDK to my knowledge unlike paypal/stripe and their documentation just tell to send a few different data as usual credit card payment. But I'm stuck even before that step, we were able to add the applepay button on the site, we did setup the sandbox account on the iPhone with a test card. We could add the merchant id, created the "Apple Pay Payment Processing Certificate", the "Apple Pay Merchant Identity Certificate" and we verified the marchant domain. We have our backend request the validationURL on onvalidatemerchant. We're using PHP, and send the data in json as the example in: https://developer.apple.com/documentation/ApplePayontheWeb/requesting-an-apple-pay-payment-session The validation url we receive from applepaysession js is: https://apple-pay-gateway-cert.apple.com/paymentservices/startSession The doc mentions to add /paymentSession so I tried that as well as just the raw validationURL. Both sends me a 401 Unauthorized response. I'm not sure what missing, I double checked the merchantIdentifier matches and that the initiativeContext is correct, but no luck. I wonder if we missed a step in the configuring the server, as it say to create certificate and upload them. Then we can download the .cer files, do we need to do something with that? Kind regards
Replies
0
Boosts
0
Views
466
Activity
Jul ’26
Correct value of merchantIdentifier when using Web Merchant Registration API
Hi! We recently signed up and activated the Web Merchant Registration API and registered a few of our merchants. We registered them as: { "domainNames" : ["X"], "partnerMerchantName" : "Name", "partnerInternalMerchantIdentifier": "MID-###", "encryptTo" : "platformintegrator.X", "merchantUrl": "https://www.x" } When we make the payment with startsession, we are getting an error 400: Payment Services Exception merchantId=platformintegrator.x not registered for domain=x I suspect that this has to do with the value of merchantIdentifier we are setting in the startsession. What should it be? MID-###? The encryptTo hash of platform? platformintegrator.x? Also, what's the meaning of the property on the sub-merchant I get from the GET API call delegatedCommerce: {enabled=True}?
Replies
0
Boosts
0
Views
560
Activity
Jul ’26
Error during In-App Provisioning (eligibility step, PKErrorHTTPResponseStatusCodeKey=500)
We are implementing in-app provisioning in our fintech app; We are reaching out to ask for your help in understanding what is going wrong so we can fix it. What happens: User taps “Add to Apple Wallet” → we present PKAddPaymentPassViewController → they tap Next → after a few seconds the flow fails with "Set Up Later" alert. Device log: "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > Feedback Assistant ID: FB22176928 (In-App Provisioning issue 500 Internal Server Error)
Replies
3
Boosts
2
Views
1.3k
Activity
Jul ’26
UCOF transaction with saved card in Apple
Hello, We are implementing support for Merchant Initiated Transactions (MIT) classified as Unscheduled Card-on-File (UCOF). Could you please clarify which request object(s) and mandatory field(s) should be provided during the initial Customer Initiated Transaction (CIT) to correctly support future MIT UCOF transactions and mandatory fields also for subsequent UCOF transactions? If ApplePayRecurringPaymentRequest / RecurringTransactionInfo should be used for this scenario, could you please specify how these objects should be populated for UCOF, including the expected values of all mandatory fields? If a different request object or approach is required for UCOF, could you please provide the recommended implementation or reference documentation? Best regards,
Replies
0
Boosts
0
Views
774
Activity
Jul ’26
How can I stop needing to verify my Merchant Domain manually every month?
Our client's site uses Apple Pay, and once a month we get a series of email notifying us that the domain verification is about to expire: Your website domain that uses Apple Pay has an SSL Certificate that expires on Oct 11, 2020. We were unable to automatically to reverify your domain. To ensure uninterrupted use of Apple Pay on your website, revalidate your domain by Oct 11, 2020 in Certificates, Identifiers & Profiles. The site uses Let's Encrypt to automatically renew its SSL cert monthly. Every time that happens, we need to log into the Apple Developer tools, navigate to Certificates, Identifiers, and Profiles -> Identifiers -> Merchant IDs -> ID -> Merchant Domains, then download the file and drop it onto the server with SFTP. It's a pain. Is there a way to automate this process (or better yet, stop it from happening)? I can't imagine monthly-renewing SSL certificates is a particularly uncommon thing.
Replies
28
Boosts
7
Views
15k
Activity
Jul ’26
Apple Pay, domain verification automatic renewal not working
Hi everyone, We are integrating Apple Pay on the Web, and we're trying to get the automatic renewal of the domain verification working according to the documentation: https://developer.apple.com/documentation/apple_pay_on_the_web/maintaining_your_environment Initially the domain verification is successful, but then the automatic renewal does not work. We keep getting the emails with the subject "Your domain will expire soon.", but they only say "We were unable to automatically to reverify your domain." without any further details. We confirmed that the site's SSL certificate has already been renewed by the time Apple attempted the renewal of verification, the certs are renewed 30 days before their expiry (using Let's Encrypt). So according to the docs, at least the renewal attempts 15, and then 7 days before the expiry should be successful. One example domain is this one: https://www.kayak.com/.well-known/apple-developer-merchantid-domain-association.txt, but we have the same issue for all our other domains as well. Does anyone have suggestions how to troubleshoot this further? (I tried creating a support ticket, but they basically replied that they're non-technical, and just linked me to the documentation. I've seen others complaining about this too, but couldn't find a conclusive solution, so I thought I'd signal boost and create a fresh topic to see if there are any more recent findings about this problem.) Thanks! Regards, Mark
Replies
8
Boosts
4
Views
5.6k
Activity
Jul ’26
Deep link to specific payment pass in Apple Wallet from third party app
I am building CardNeuro, an iOS app that uses GPS to detect the nearest merchant and recommends the highest-earning credit card in the user's wallet at point of sale. Current flow: GPS detects merchant App recommends best card (e.g. Amex Gold for dining, Amazon Visa for groceries) User taps — Apple Wallet opens User has to scroll to find the right card The problem: Apple Wallet opens to the last used card, not the card we recommended. The user still has to find it manually. What I want to do: Open Apple Wallet directly to a specific payment pass so the recommended card is shown immediately and the user can double-click to pay with no extra steps. What I found in the docs: PKPassLibrary exposes a passURL property on payment passes: let passLib = PKPassLibrary() let walletURL = passLib .passes(of: .payment) .first(where: { $0.localizedName == "Amex Gold" })? .passURL if let url = walletURL { UIApplication.shared.open(url) } My questions: Does PKPassLibrary.passes(of: .payment) return cards added natively to Apple Wallet by the user — or only passes provisioned by my own app? Is opening passURL via UIApplication.shared.open() permitted for third party apps that did not provision the pass? Is a special entitlement required to read payment passes from PKPassLibrary that belong to other apps or were added natively? If deep linking to a specific payment pass is not available to third party apps — is there any recommended API or UX pattern for surfacing a specific card to the user before they tap to pay? Any guidance from the team appreciated.
Replies
0
Boosts
0
Views
511
Activity
Jul ’26
Region change issues
I want switch region UAE to Bangladesh due to enrollment process for developer account but the Bangladesh is not available there i already mailed customer support twice they are not responding.
Replies
0
Boosts
0
Views
457
Activity
Jul ’26
Premium Feature in App
Hi Everyone, I’ve made an educational app that has limited feature usage to free users but paying monthly subscribers get full access however Apple has rejected the app due to this reason and when I responded asking how to change it they said they can’t help me so does anyone know how to create a subscription that gives access to the full app without getting rejected as there are already many apps out there with this system
Replies
1
Boosts
0
Views
520
Activity
Jul ’26
ApplePay on website -validateMerchant-payment sheet stuck
I tried to integrate ApplePay on website. Followed the official documentation. Successfully creating the apple session. However according to my logs, execution doesn't even going to verify the merchant. When I click the ApplePay button the payment sheet displays and it brings the card details, but the bottom button stays "Processing". May I know what could be the reason? Our PSP is credimax. Any input to resolve this is highly appreciate. we stuck on this for last 3 months.
Replies
1
Boosts
0
Views
591
Activity
Jun ’26
ApplePay create-session API timing out
We are an Apple Pay consumer and observed elevated response times and intermittent timeouts affecting the create‑session API (apple-pay-gateway.apple.com/paymentservices/paymentSession) between approximately 8:01 PM and 8:35 PM PST today. We are reaching out to understand whether there were any service disruptions during this timeframe, as we do not see corresponding updates on the system status pages. We would like to confirm whether this behavior was related to a broader Apple Pay issue or specific to our integration.
Replies
1
Boosts
0
Views
1k
Activity
Jun ’26
Payment Services Exception Unauthorized
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 ?
Replies
2
Boosts
0
Views
937
Activity
Jun ’26
Apple Pay In-App Provisioning Failure on Apple Servers
Hi guys, we are trying to implement In-App Provisioning for our banking application. After some iterations of determining responsibilities for providing data, we managed to gather all info required, but the process is failing. When user tries to provision a card, the Provisioning UI flow stops after selecting a device to provision the card on. It presents an alert: "Could Not Add Card", and offers just "Set Up Later". Further investigation (Console.app) shows that PassbookUIService has an error saying: [qv4t2XcQQ1G+AWP9HINjFQ] ProvisioningOperationComposer: Step 'eligibility' failed with error <PKProvisioningError: severity: 'terminal'; internalDebugDescriptions: '( "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > Also, when filtering Console output by my SEID, I can see that the request is failing with HTTP 500 code: default 15:09:22.599860+0200 PassbookUIService Response: https://pr-pod10-smp-device.apple.com:443/broker/v4/devices/???/cards 500 Time profile: 0.274013 seconds { Server = "Apple" Content-Type = "text/html" X-Content-Type-Options = "nosniff" Strict-Transport-Security = "max-age=31536000; includeSubdomains" Date = "Wed, 03 Jun 2026 13:09:22 GMT" X-Frame-Options = "SAMEORIGIN" X-XSS-Protection = "1; mode=block" Cross-Origin-Opener-Policy = "same-origin" Content-Length = "170" Connection = "close" } <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>Apple</center> </body> </html> I've submitted a Feedback assistant with the guidelines found here. Feedback ID: FB22924636 (In-App Provisioning failing) Would appreciate if anyone has some pointers as to what to focus on to resolve this issue. Thank you!
Replies
2
Boosts
0
Views
889
Activity
Jun ’26
Apple Pay Connectivity Test
I am trying to start implementing the Push Provisioning (Apple Pay) process for my website. I configured a test-environment and already had a 'success' connectivity test before, even though I did not implement any TLS validation api. but for about two weeks, there is that "Environment connectivity test is unavailable due to production maintenance." message. I don't know if earlier i managed to pass the tests for real, or if that is exactly a bug Apple is working on. This message comes and goes at least 2-3 times, and you can't tell if the connectivity test works as expected or is bugged.
Replies
0
Boosts
0
Views
921
Activity
Jun ’26
In-App Provisioning Completely Ghosted Waiting on Review
Waiting on in-app provisioning approval. First time submitting the app. The process changed after we submitted initially but its been three months now. Every time I reach out I either get a generic response or nothing at all. What is going on? This has been a horrible experience.
Replies
0
Boosts
0
Views
894
Activity
Jun ’26