Hello,
we're using Shopware 6.5.7.3 and would like to offer our customers Apple Pay. The Domain verification has succeeded once already. Because of our Payment Provider the Identfifiers and certificates have to be grenerated a certain way, which we did not know at the time. Alas the domain has to be verified again. The problem is that the verification will not succeed anymore.
A new Merchant ID, Merchant ID Certificate & Payment Processing Certificate have been generated. Previously there had been error messages (paraphrased) like "Domain verification failed. The file can't be reached", which have been fixed. This time the only error message is "Domain verification failed". No extra explanation, just these 3 words.
The file "apple-developer-merchantid-domain-association.txt" can be reached inside the dir public/.well-know directory and the nginx acces.log documents a foreign Apple device accessing the file when the verification process is started in the Apple Dev backend:
"172.20.0.2 - - [29/Jan/2024:14:35:08 +0000] "GET /.well-known/apple-developer-merchantid-domain-association.txt HTTP/1.1" 200 5744 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML%2C like Gecko) Version/9.1.2 Safari/601.7.7" "17.179.144.226" 0.000 - . -"
Does anyone know what the exact error message "Domain verification failed." means? Which files are neccessary to verify the domain? Do files like merchant_id.cer/.pem/.key in %root%/config/apple-pay-cert play a role in this specific process?
Thank you very much for any insight
Apple Pay on the Web
RSS for tagApple Pay on the Web allows you to accept Apple Pay on your website using JavaScript-based APIs.
Posts under Apple Pay on the Web tag
97 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
I am trying to understand how to use the token notification API to deactivate a token when the user unsubscribes.
The main issue I see is that I do not receive the merchantTokenIdentifier in my payload when initiating a new recurring transaction.
I have not found any working examples showing end-to-end to integration here.
The docs are a little confusing as well,
I found this:
merchantTokenIdentifier
string
For a merchant token request, the provisioned merchant token identifier from the payment network
But I did not find anything about a "merchant token request"
HI,
ApplePay was working fine. Since we did a dot net upgrade to 6.026 on the server it has stopped working I think it is to do with the above issue.
In the code we set the protocol which matches what's on the server:
ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls12;
Has anyone experienced this before?
As the document mentioned "Host your domain-verification file at the following path for each domain you’re registering:
https://[DOMAIN_NAME]/.well-known/apple-developer-merchantid-domain-association" and that file contain "pspId" and "signature" so just want to know these are not sensitive it gets in the hands of an attacker ??
I received an email.
There was a request to renew the domain registered with the Apple Pay Merchant ID as it was expiring.
I went into my Merchant ID to renew, but couldn't find a way.
How do I renew?
Hello,
I'm not sure this is the right place to ask this question, but we've a scenario that I'd like to get some help on. We're integrated with Stripe, and have enabled Apple Pay for Stripe accounts. So, in order for the domain to be verified to enable apple pay, we're hosting the file apple-developer-merchantid-domain-association under ${domain}/.well-known/. And that's working great.
Now, we also want to enable apple pay through another payment processor Cardknox, for which the integration is done. But for domain verification purposes, we've to host a different apple-developer-merchantid-domain-association in the same directory. So, if I update the file contents, domain verification through Stripe will fail, and vice-versa.
I'm sure this must have come up before, and I'd like to know your opinion on how we can resolve this. Is there a way to configure different paths for verification?
Thanks a lot.
Trying to get Apple Pay with PayPal to work in our Wordpress WooCommerce platform. We've done all of the registration, and have uploaded the apple-developer-merchantid-domain-association data file to .well-known but the file can not be read. It is 644 permission and we have removed the extension per Apple Support, but the link is still not readable and gives a 404 error. If I add a dat or txt extension, it is readable to a web browser, but Apple still doesn't see the file as it doesn't want the extension.
I even tried an order with Apple Pay but it failed. PayPal is useless and just send us to Apple, and Apple doesn't seem to have much on it either. Searching the support files I only find 5 year old posts.
Google Pay works without issue, *** do credit cards and PayPal. Just no Apple Pay.
The instructions are pretty basic:
Download and host live domain association file
Host a domain association file for each high-level domain and subdomain that show the Apple Pay button.
Download the domain association file for your live environment.
Host the file on your live site for each domain and subdomain you want to register, at /.well-known/apple-developer-merchantid-domain-association. For example:
https://example.com/.well-known/apple-developer-merchantid-domain-association
https://subdomain.example.com/.well-known/apple-developer-merchantid-domain-association
Hi, I have a question about the merchant ID domain verification file. Do we need to store that file on our site permanently, or can we delete it after domain verification? I searched for this information in the documentation, but found nothing specific.
https://developer.apple.com/documentation/applepaywebmerchantregistrationapi/preparing_merchant_domains_for_verification
Hello,
Here's some sample Javascript code:
if (window.ApplePaySession) {
console.log('ApplePaySession is available');
console.log('canMakePayments: ' + ApplePaySession.canMakePayments());
ApplePaySession.canMakePaymentsWithActiveCard(merchantId)
.then(function(canMakePayments) {
console.log('canMakePaymentsWithActiveCard: ' + canMakePayments);
});
} else {
console.log('ApplePaySession is not available');
}
I'm logged into macOS with a sandbox test account that has Apple Pay permissions. The merchantId value is the one listed with my merchant ID. I'm running this locally. canMakePayments returns true, but canMakePaymentsWithActiveCard always returns false.
I have two test cards setup in the macOS account's Apple Pay wallet, and both have a billing address setup.
What can I do to troubleshoot why ApplePaySession.canMakePaymentsWithActiveCard is returning false?
Hi all
Im trying to update deferDeferredPaymentRequest on event completeShippingMethodSelection
API ver 14
So Im using ApplePayShippingMethodUpdate object which contains newDeferredPaymentRequest
But deferred payment cannot be updated.
Here is my ApplePayDeferredPaymentRequest object for newDeferredPaymentRequest:
"deferredBilling": {
"label": "Pay for Later",
"amount": 68,
"paymentTiming": "deferred",
"type": "final",
"deferredPaymentDate": "2024-01-25"
},
"managementURL": "https://siteURL.com",
"paymentDescription": "A description of the deferred payment to display to the user in the payment sheet.",
"freeCancellationDate": "2024-01-25",
"freeCancellationDateTimeZone": "America/New_York"
}
Even I tried to put mistake for newDeferredPaymentRequest but ApplePay doesn't throw a JS error
Can we update deferred ?
for example, ApplePayRecurringPaymentRequest can't be updated according to documentation https://developer.apple.com/documentation/apple_pay_on_the_web/applepayrecurringpaymentrequest
But I can't find same info for Deferred.
Who can help me with it?
We have multiple domains that were about to expire and we've verified them without any issue but the Verify button is still present and active and the expiration date hasn't changed:
Found only one post related to our situation:
https://developer.apple.com/forums/thread/672279
Will removing and then adding them again fix this? We have multiple domains in this situation.
Our apple pay integration with the gateway "Checkout.com" is succeeding from Checkout side & the amount is captured (withdrawn from bank account) and confirmed yet on the apple pay popup it fails with a "Payment not completed" error message. Any idea how to resolve this? This is on multiple devices (iPhones, MacBooks)
-The request in the headers is a success (200)
I know Apple Pay recently added some new token types for unscheduled card on file use cases.
In my app, I attain the token from Apple Pay, and then I submit that token to my gateway for full payment anywhere from 1-12 hours later-- after the user had used up the service. The final payment is based on a usage of the service.
Do I need to use the ApplePayDeferredPaymentRequest token type for this kind of use case?
Hi,
I'm trying to create merchant tokens in ApplePay sandbox environment, so then I can use them to invalidate token API call and lifecycle notifications testing.
When processing test payment I use Apple Pay payment request taken directly from Apple's demo website (I skipped non important part of JSON)
{
...
"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": "2023-08-11T11:20:32.369Z"
},
"trialBilling": {
"label": "7 Day Trial",
"amount": "0.00",
"paymentTiming": "recurring",
"recurringPaymentEndDate": "2023-08-11T11:20:32.369Z"
},
"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"
},
...
}
Payment is successful, but merchantTokenIdentifier in decrypted ApplePay token is always empty, regardless of test card used, I tried Visa, MasterCard, Amex.
Anyone have an idea what I'm missing and how to get that merchant token?
Is it even possible to test merchant tokens (lifecycle notifications) in sandbox?
Hi,
We’re trying to use the Apple Pay Register Merchant API and are getting an unauthorised error when we try to access the the Request for API form
Error Message:
Sorry, you cannot view this page.
The Apple ID you signed in with does not have permission to view this page.
If you’re currently a member of the Apple Developer Program, you or your Account Holder may need to update your account by agreeing to the latest license agreement in order to access this page. To view your current membership status and benefits, visit your account.
But our account is already a part of Apple Developer Program.
According to the documentation provided in
https://developer.apple.com/design/human-interface-guidelines/technologies/apple-pay/checkout-and-payment/#customize-the-payment-sheet under Displaying a website icon section, we can use icon configured for bookmarks or URL fields to display on the payment sheet but if the developer need to explicitly configure the icon using Apple Pay JS or any other way to display in summary view on payment sheet.
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