1
Set the domain in the product
Set
metadata.merchantDomain of the product you embed in the widget.2
Write to us
Send the domain to integration@paymove.io. We will register it with Apple and send you a verification file.
3
Publish the verification file
Serve the file at a fixed URL on your domain.
4
Wait for confirmation
Once Apple verifies the domain, we will confirm the registration - from then on Apple Pay works in the modal.
1. merchantDomain in the product
merchantDomain is the domain of the page where you paste the widget script - the one the customer sees in the address bar. Not the paymove domain from the script URL.
The most convenient way is to set it when creating the product:
If you don’t manage the product through the API, include the domain in your step-2 message - we’ll set
merchantDomain on our side.- Domain only - without
https://, port, path or trailing slash:foundation.example.com. If you send a full URL, the API keeps only the domain and converts it to lowercase. A value from which no valid domain can be extracted results in400. - Exactly the domain the page runs on.
example.comandwww.example.comare two different domains for Apple - use the one under which the customer actually sees the page (and ideally redirect the other one to it). - One domain per product. If the same product should work in the widget on several domains, write to us - each domain has to be registered with Apple separately.
localhostand domains without public HTTPS won’t pass Apple’s verification. Test Apple Pay on a domain reachable from the internet.
2. Domain registration request
Write to integration@paymove.io and provide:- the domain (or domains) where you embed the widget,
- the product IDs (
productId) that will run there, - the environment - sandbox, production or both.
You can’t generate the file yourself in your Apple Developer account - it is tied to the Apple merchant identifier owned by paymove. You don’t need your own Apple Developer account.
3. Verification file
Serve the file you received at exactly this URL:- available publicly over HTTPS, without login, geo-blocking or bot protection (Cloudflare challenge, WAF),
- at exactly this path - the
.well-knowndirectory in the domain root, file name without an extension, - served without a redirect (status
200, not301/302), - unmodified - don’t edit it or change its encoding.
HTTP/2 200 and the file contents from the first byte. Example configurations:
4. Confirmation and testing
Once the file is in place, let us know - we will ask Apple for verification and confirm the result. Then test a payment:- in Safari on an iPhone, iPad or Mac with a card added to Apple Wallet - Apple Pay does not show in other browsers,
- on a page under the registered domain - a test version under another domain (e.g.
staging.example.com) needs a separate registration.
What happens without registration
Until the domain is registered, Apple rejects the payment session: the customer chooses Apple Pay, but the payment sheet doesn’t open or closes with an error. Other methods work normally. If you don’t plan to register, disable Apple Pay for the product embedded in the widget - write to us and we will do it for you. Registration is not needed when the customer pays outside the widget - on the payment page opened from a link or a QR code, the Apple Pay sheet shows on the paymove domain.The same procedure applies to the checkout widget. If you embed both widgets on one domain, report it in a single message - list all products that should work there.