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 Merchant Identity Certificate - renewal problems
We are having trouble trying to renew our Apple Pay Merchant Identity Certificate. We can create the CSR file and add to the developer portal. We then convert this to a .pem and then a .p12. When we test the certificate in Postman however, we see the following error: "statusMessage": "Payment Services Exception pspId=xxxx unauthorized to process transactions on behalf of merchantId=xxxx reason=xxxx is not a registered merchant in WWDR and isn't properly authorized via Mass Enablement, either.", "statusCode": "417" We are sending the following POST request to 'https://apple-pay-gateway.apple.com/paymentservices/paymentSession': {"merchantIdentifier": "merchant.com.xxxx.applepaytest", "domainName": "beta-xxxx.com", "displayName": "beta-xxxx.com"} Anyone got any ideas what the issue may be? In the meantime I will look at completing our domain verification as that is also due soon and we thought it may possibly have something to do with the certificate issues we are seeing.
1
0
110
Oct ’25
Apple pay merchant registration API payload
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" }
1
0
65
Oct ’25
Apple Pay In-App Provisioning Development extended entitlement unable to select on create Provisioning Profile
We request your support in enabling the extended entitlement feature for our team when creating provisioning profiles. This is because we need to include the ApplePay In-App Provisioning Development extended entitlement in our Bancoagricola app. Currently, when creating new provisioning profiles, the screen to configure Additional Entitlements is not displayed for our team. However, we have verified with our provider HST (https://hst.com.br/) that this screen does appear in their Apple account. Thank you very much for your support.
1
0
161
Jul ’25
Apple Pay Is Not Available in "
We are encountering an issue where Apple Pay shows an unexpected popup with a message and an "OK" button when confirming a payment (after double-tapping the power button). This issue began appearing last week without any changes to the codebase or configurations. Steps to Reproduce: Open the app and initiate an Apple Pay payment. Add a valid card if not already present. Confirm the payment using the side button (double-tap). Instead of completing the transaction, a popup appears with a generic message and an "OK" button. Expected Behavior: Apple Pay should process the payment and provide a confirmation or error based on the transaction status. Actual Behavior: A popup appears with a generic title and an “OK” button. The transaction is not processed. Environment Details: Platform: iOS Apple Pay integration has been functioning correctly for years No recent updates to Apple Pay-related code or configuration Configurations Checked: App Identifier is correctly set with the bundle ID Apple Pay Payment Processing is enabled in the App ID configuration Correct Merchant ID is selected and matches in Xcode capabilities *.entitlements file contains correct Apple Pay entitlement Payment Processing Certificates are valid and in place Additional Notes: The issue appeared suddenly without any modifications to the app. We suspect it may be due to external changes (e.g., Apple system update or merchant validation issue). Please advise on any further steps we can take to diagnose or resolve this issue.
2
0
79
May ’25
Implementing multiple payment gateways on same domain
Hi Everyone, My team is working on an online marketplace for FMBs in Saudi Arabia (with a plan to expand to other markets later). We are currently working on integrating multiple payment gateways with embedded Apple Pay support into our platform. We’ve encountered an issue with the apple-developer-merchantid-domain-association file. Based on advice from one of our payment partners, we've ensured that the domain association file is uploaded in the correct format. This works successfully with our first payment gateway. However, for the additional payment gateways we are integrating, we would also like to enable Apple Pay with embedded support. The challenge is that each payment gateway requires its own domain verification, but the verification file uses the same file name. This prevents us from supporting multiple gateways on the same domain. Has anyone in the house been able to implement a similar solution, or know how we can best implement this? Please, I'll appreciate advise on how we can configure Apple Pay domain verification to support multiple payment gateways on the same domain? Any specific guidance or best practices would be greatly appreciated. Best regards,
2
0
122
Oct ’25
Twitch Like Subscriptions - Many-to-Many
Hi guys, We are trying to implement a solution that would allow users to subscribe to other users in our app. The system should work the same way as Twitch's subscription model works. Users should be able to subscribe to anyone and each subscription should have different tiers. From what we were able to gather, users cannot have multiples of the same subscription on applestoreconnect. Meaning that we would probably need to make a custom subscription per every user? Here we have also learned that there is a limit of 10 000 types of subscriptions and that it is not possible to dynamically create/delete them for users. (correct me if I am wrong) Is there a solution for handling this type of a scenario? Appreciate all answers.
3
0
83
May ’25
Apple Pay SDK on Chrome Failed to execute postMessage on 'Window'
Hello I'm getting an error when the Apple Pay sheet opens on a third party browser like Chrome when completeShippingMethodSelection is called 'DataCloneError: Failed to execute 'postMessage' on 'Window': #<Object> could not be cloned.' I'm also seeing this warning when the apple pay sheet opens Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://applepay.cdn-apple.com') does not match the recipient window's origin although I also see this warning on https://applepaydemo.apple.com/
1
0
245
Apr ’25
Issue Retrieving Bound Cards in Wallet Extension Non-UI Extension
Hi, I’m encountering an issue in my app’s Wallet Extension, specifically within the Non-UI Extension, where we are unable to retrieve payment passes bound to a user’s account. The same code that successfully retrieves these bound cards in the main app does not work when used in the Non-UI Extension. Case-ID: 8932090 Steps to Reproduce: Set up In-App Provisioning: Ensure that the app has the necessary In-App Provisioning permissions. This functionality works correctly in the main app, confirming that the permissions are properly configured. Configure Wallet Extensions: Follow the Wallet Extensions documentation to configure the app, including all required settings for the Non-UI Extension. Add Code to Retrieve Payment Passes: In the main app’s LoginView, implement the following code in the handleLogin() method to retrieve payment passes: // Get the identifiers of payment passes that already exist in Apple Pay. paymentPassLibrary = self.passLibrary.passes(of: .secureElement) for pass in paymentPassLibrary { if let identifier = pass.secureElementPass?.primaryAccountIdentifier { if pass.isRemotePass && pass.deviceName.localizedCaseInsensitiveContains("Apple Watch") { remotePassIdentifiers.insert(identifier) } else if !pass.isRemotePass { passIdentifiers.insert(identifier) } } } Verify Functionality in Main App: Run the app and verify that the code successfully retrieves the payment passes bound to the user’s account. Implement Code in Non-UI Extension: Add the same code to the Non-UI Extension, specifically in the WNonUIExtHandler class within the override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) method. Test in Wallet Extension: Run the Wallet Extension and observe that the payment passes are not retrieved when the code is executed in the Non-UI Extension. Has anyone encountered a similar issue or can provide insight into why the code might not work in the Non-UI Extension compared to the main app? Support Information: iOS Version: 17.5.1 Development environment: Xcode 15.4 (15F31d), macOS 14.3 (23D56) Any help or suggestions would be greatly appreciated. Thank you!
3
0
985
Nov ’25
Merchant validation error on Apple Pay payment processing
Hi, I'm developer in fintech company, we have setup process for onboarding merchants for our partner and processing payments with usage of Apple Pay API. Daily system is processing ca. 10k payments but every day ca. 100 of transactions are declined because of merchant validation error: request to https://apple-pay-gateway.apple.com/paymentservices/paymentSession (with all required parameters in body) is returning response with status code 417 "statusMessage": "Payment Services Exception merchantId={root merchant id} unauthorized to process transactions on behalf of merchantId={merchant id hash} reason={merchant id hash} is not a registered merchant in WWDR and isn't properly authorized via Mass Enablement, either." Issue impacts recurring merchants, most of their transactions are processed successfully but randomly some of them are failing with such reason. All prerequisites are met: merchant have deployed 'apple-developer-merchantid-domain-association' certificate, certificates are valid and not expired. Apple Support is not able to provide any information based on provided requests timestamps. We would to know what may be the reason just part of the requests are failing and what 417 error code means.
0
0
268
Feb ’25
Approve with Side Button' is not displayed
When accessing https://applepaydemo.apple.com/payment-request-api, the "Approve with Side Button" prompt is displayed, but it does not appear when using our test domain. I implemented the Payment Request API based on the sample source code from the following URL. On an iPhone device, the Apple Pay payment screen is displayed, but the "Approve with Side Button" icon below the amount does not appear, and instead a spinning loading icon is shown continuously. Could you please help identify the cause? ■ Reference URL: https://applepaydemo.apple.com/payment-request-api ■ Changed parameter: "merchantIdentifier": "〇〇.dev" ■ Accessed domain: 〇〇test.com ■ Test device: iPhone 13 iOS: 18.4.1
0
0
69
May ’25
关于韩国地区用户支付后重复扣款问题
你好,我们6月1日收到比较多的韩国用户反馈购买我们的内购以后,系统会在稍后的几分钟再次多次从用户的卡里扣出相应的款项,但是我们没有办法第一时间反馈给你们,导致很多用户流失,请问我们怎么才能第一时间联系到你们,还有我们怎么才能第一时间知道是你们的系统是否某个功能出了问题,是否也有相应的论坛我们可以第一时间看到你们相关问题的报道,这样我们排查问题就没那么辛苦,感谢
0
0
60
Jun ’25
How can I integrate Apple Pay subscription products?
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" } ] }
0
0
64
Jun ’25
Apple Pay Web Merchant Registration API
Hello, I am looking for some help on how to use the Apple Pay Web Merchant Registration API. Have been approved to use the API and attempted to test on a merchant ID set up for testing. Below are steps taken before the request. Create merchant ID com.test.merchant. Create Apple Pay Merchant Identity Certificate for using it with the request via p12. Create Platform Integrator platformintegrator.com.test With the below request, I am getting a 401. Any input would be much appreciated! curl --cert-type P12 --cert cert.p12:{password} -i -d '{\ "domainNames":["customer.test.com"],\ "partnerMerchantName": "customer.test.com",\ "partnerInternalMerchantIdentifier":"customer.test.com"}'\ "encryptTo":"com.test.merchant",\ https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant The response: { "statusMessage": "Payment Services Exception Unauthorized", "statusCode": "401" } Also tried using the platformintegrator.com.test for the encryptTo but resulted in a 401 as well.
2
0
166
Jun ’25
Apple Pay: Renewal of Domains fails and get redirected to main page without errors
Hello, we are trying to extend the dates of verified domains following the docs of https://developer.apple.com/documentation/applepayontheweb/maintaining-your-environment#Renew-Your-Domain-Verification and configured the server following https://developer.apple.com/documentation/ApplePayontheWeb/setting-up-your-server we've download the apple-developer-merchantid-domain-association.txt and update them on their respective locations, click 'ok' button and we get redirected to the main page of the merchant certificate, but the expiration dates have not been extended, we can see on our web crawler that Apple Requested the file and it return a 200. No popup errors are shown, no console developer error we only get redirected to the merchant certificate information page.
0
0
48
Jun ’25