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

iOS 16 recurring payment configuration not reflecting in UI
We are integrating iOS 16 recurring payments in our app, everything works fine but we have a few questions Question 1 let recurringPaymentRequest = PKRecurringPaymentRequest(         paymentDescription: "Pro Membership",         regularBilling: regularBilling,         managementURL: url       ) we assume managementURL is supposed to come in the user's wallet where he/she can tap to change the recurring payment option to our backend, but in the wallet, the transaction appears without this URL and have no indication that it is a recurring payment, Can someone guide what we missed Question 2 For apps that only have apple pay on mobile, managementURL can open the app as a deep link from the Wallet app and the user can update or delete the payment method for the automatic reload payment from the app directly, Question 3 For cancellation, the recurring payment app should have some UI where the user can tap which hit our backend and remove the apple pay merchant token from our system and apply cancellation business logic, no apple API involves in the cancellation of recurring payment
2
0
1.4k
Sep ’25
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
83
2w
Apple Pay on Google Chrome
Hi - I have a question. I am trying to understand when Apple Pay will be available on non-IOS desktop devices (specifically Google Chrome). I was hoping to understand better the process, specifically the following: How can I get the Apple Pay QR code installed on my desktop checkout page on Google Chrome? How long does this process usually take? If I work with Stripe, do I need to get approval from them to install the Apple QR code onto my Google Chrome checkout page? Is this readily available to all merchants (i.e., installing Apple Pay on Google Chrome)/ I have not seen this on any other checkout pages yet. Are there any examples you could point me to of merchants that have installed Apple Pay onto non-IOS desktop so I could trial the process (i.e., a list of existing merchants that have put the QR code onto their Google Chrome checkout pages)?
2
0
1.8k
Sep ’25
Inquiry regarding the domain, when the two companies merge
'Company A' is scheduled to merge with its parent company, 'Company B'. Both A and B have Apple accounts. A's account has one domain registered for Apple Pay integration, while Account B has no domain registered. We attempted to register A’s domain under B’s account. However, the notification 'Requested domain name has been verified previously.' appeared, and we could not complete the registration. Please confirm whether it is correct that a domain already registered under Account A cannot be registered again under Account B. If we cannot register same domain in two accounts, we believe that the domain registered under A's account must be deleted first and then registered under B's account. In that case, will payments become unavailable immediately upon deletion of the domain, or will payments still be possible for a certain period of time after deletion? In our testing, we found that payments were not blocked immediately, but we would like to confirm further. We are concerned about the possibility of transaction failures during the short period between deleting the domain from A's Account and registering it under B's Account.
1
0
76
2w
Apple Pay fractional amounts for RSD
Hello all, I’m helping a customer integrate Apple Pay, and I’m seeing a behavior I can’t fully explain. I hope someone here can help clarify whether this is expected or whether it’s a bug / misconfiguration on my side. Currency: RSD (Serbian Dinar) Amount: 3.45 RSD (two decimals) Result: Apple Pay cancels the payment automatically when the amount includes decimals, without even displaying the paymentsheet. Things I have checked: ISO 4217 defines RSD with 2 minor units, so fractional amounts like 3.45 should be valid. Processors treat RSD as a two-decimal currency. Apple’s documentation does not provide a per-currency decimal rule table. In testing, whole-number RSD amounts succeed, while fractional amounts (e.g. 3.45 RSD) fail. I did not encounter this problem with other currencies like EUR, USD. Has anyone encountered this issue before?
3
0
98
2w
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
104
2w
Apple Pay JS - completeMerchantValidation not triggered
When I click to my Apple Pay button, my function below doesn't trigger the completeMerchantValidation method as expected, but the oncancel method (which logs errorCode "unknown" in Safari developer tools) : const processApplePayment = async () => { if (window.ApplePaySession) { const session = new window.ApplePaySession(6, { countryCode: 'FR', currencyCode: 'EUR', merchantCapabilities: ['supports3DS'], supportedNetworks: ['visa', 'masterCard'], total: { label: `Bon d'achat ${partnerName}`, type: 'final', amount: cartTotalValue.toString() } }); session.onvalidatemerchant = async event => { try { const merchantSession = await validateMerchantSession(event.validationURL); console.log('merchant session : ', merchantSession); if (!merchantSession) { console.error('Invalid Apple Pay merchant session'); } session.completeMerchantValidation(merchantSession); } catch (error) { console.error('merchant validation error : ', error); session.abort(); } }; session.onpaymentauthorized = async event => { console.log('payment authorization event : ', event); try { const link = await authorizePayment( event.payment.token, userInfo, partnerId, order.id ); console.log('payment authorized link : ', link); window.location.href = link; } catch (error) { console.error('Apple Payment authoriation error : ', error); const errorUrl = `${PATH.EBON_ERROR_PATH}-${partnerId}?paiement=error&orderId=${order.id}`; window.location.href = errorUrl; } }; session.oncancel = event => console.log('Apple Pay cancel event : ', event); session.begin(); } }; The validateMerchantSession function successfully returns this payment session from Apple server : { "epochTimestamp":1739279973502, "expiresAt":1739283573502, "merchantSessionIdentifier":"SSH108C7ED6746A48E38EA8D253D33CCAA5_916523AAED1343F5BC5815E12BEE9250AFFDC1A17C46B0DE5A943F0F94927C24", "nonce":"150de193", "merchantIdentifier":"11CA4E31493E748848A91A0DAB1685A8417C41B62B9863EF59A618B91239471A", "domainName":"lesnumeriques-bonsdachat.htmal1.com", "displayName":"Les Numériques", "signature":"308006092a86...779cd643c000000000000", // long string "operationalAnalyticsIdentifier":"Les Numériques:11CA4E31493E748848A91A0DAB1685A8417C41B62B9863EF59A618B91239471A", "retries":0, "pspId":"11CA4E31493E748848A91A0DAB1685A8417C41B62B9863EF59A618B91239471A" } What could I do wrong and how could I fix it please ?
1
0
324
Feb ’25
Is HTTPS necessary for development with Apple Pay
I'm working on adding Apple Pay to my web site and I'm getting this error when the element loads. InvalidAccessError: Trying to start an Apple Pay session from an insecure document. Do I need HTTPS on my development site? I have it on my production site, but I've never enabled it for dev. If so, will it work with a self-signed certificate? If not, what does this error mean? How can I resolve it?
2
0
559
Dec ’24
Issue with the ApplePay SSL server certificate
Hi support, Since June 26th 2025 we are experiencing an issue with the ApplePay SSL server certificate installed on our servers in Production environment. We are facing an exception error during the initializing of a payment session while calling the url: https://apple-pay-gateway.apple.com/paymentservices/startSession The exception is Untrusted Server Certificate Chain: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Untrusted Server Certificate Chain       at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)       at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1915)       at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:306)       at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:300)       at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1577)       at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:213)       at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1010)       at sun.security.ssl.Handshaker.process_record(Handshaker.java:946)       at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1034)       at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343)       at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1370)       at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1354) It seems that the issue occurs randomly: we are experiencing this exception on most of our payment transactions, but there are some cases of users that have correctly paid on our site using this method and in those cases this error did not appear. We installed the new certificate on our servers on July 3rd 2025 and renewed on Aug 7th 2025. The new certificate validity is: Not Before: Aug 6 18:43:52 2025 GMT Not After : Nov 4 18:08:57 2025 GMT I must specify that this issue is blocking the correct placement of AppleyPay orders of our customers. Can you please help us find the problem and a possible solution?
1
0
167
Aug ’25
Apple Pay integration and Merchant IDs.
Hi, We’re a franchise business with over 100 franchisees, and each franchisee has their own unique Merchant ID. We're building a single app that allows customers to place orders, and based on the selected franchisee, the payment needs to be processed through that specific franchisee’s merchant account. However, when we integrate Apple Pay and publish the app, it asks us to provide a payment gateways' Merchant ID, but we don’t use just one – we have many. How can we handle this situation? Is there a way to dynamically use multiple Merchant IDs in one app, depending on which franchisee the customer is ordering from?
1
0
60
2w
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
897
1d
Wallet Extension show tips "Cannot Add Card"
When integrating the Wallet Extension, after clicking my app icon from the "From Apps on Your iPhone" list, I encountered the message: "Cannot Add Card. '***' is not responding. Wait a few minutes and try again. If the problem continues, contact the card issuer's customer service" instead of the configured login page appearing as expected. What could be causing this issue, and how should I resolve it?
2
0
386
Mar ’25
Request: Increase Merchant ID Creation Limit for Apple Pay Integrations
**Hi Apple Developer Community, I’m currently integrating Apple Pay across multiple merchants for my e-commerce solution, and I’ve run into a significant challenge. Apple enforces a limit of 100 Merchant IDs per Developer Account, which is creating a bottleneck for my project. My Questions: 1- Is there a way to increase the limit of Merchant IDs on a Developer Account? 2- Has anyone faced a similar challenge and found a workaround to handle integrations with more than 100 merchants? 3- Are there any plans from Apple to lift or adjust this restriction for businesses working with high volumes of merchants? I’d appreciate any guidance, advice, or information from those who’ve encountered and resolved this issue. Thank you for your help!
2
0
537
Dec ’24