Skip to content

    Apple Pay

    This guide outlines the basics of using Apple Pay via Checkout and gives you instructions needed for a fluent implementation.

    IntegrationType: HostedPaymentPage, EmbeddedPaymentPage

    Overview

    Apple Pay with Nexi Checkout

    Fast, secure Apple Pay payments in your checkout, with a setup that scales from hosted to fully embedded experiences.

    Apple Pay lets customers complete payments in seconds using their Apple devices, without manually entering card details.

    Key benefits:

    • One-tap checkout with Face ID or Touch ID
    • No card numbers exposed or stored on your site
    • Optimized for mobile and desktop
    • Higher conversion on supported devices

    Availability & requirements:

    Apple Pay is displayed automatically only when all conditions are met:

    • For embedded checkout: domain verification
    • Customer uses a supported Apple device
    • Browser supports Apple Pay (Safari recommended)
    • Apple Pay is enabled on your Nexi account
    • At least one supported card brand is active
    • Apple Pay will not appear if any requirement is missing, this is expected behavior.
    • Apple Pay is only supported on iOS (16 or later) operating systems. Supported browsers are: Safari, Firefox, Chrome, and Edge.
    • Apple Pay cannot be activated without Visa/Mastercard/Dankort being present on your account.

    Functionality table

    NameDescription
    Payment typeWallet
    Subscriptions
    Bin filter
    Refunds
    Partial refund
    Update order
    Cancel payment
    Reservation & charge
    CPSP
    IPSP
    Supported card schemesVisa, Mastercard and Dankort
    Currencies
    All currencies for Visa and Mastercard.
    Only DKK for Dankort.
    CountriesAll

    Activation

    To activate Apple Pay as a payment method and to add it to your Easy checkout, you need to complete the onboarding journey.

    1. Login to the Easy admin portal.
    2. Navigate to ADD-ON on left-hand side menu and ensure the your account is set to LIVE (top-right on screen).
    3. Click on ENABLE APPLE PAY to activate the the Apple Pay option.

    2026-02-05 15 16 02-Applepay

    Important information

    Embedded checkout - Domain verification is needed. See more information in the Embedded checkout section

    Hosted checkout - No further steps are needed. Apple pay is now available in your checkout

    Embedded payment page

    To activate the embedded checkout for Apple Pay, do the following:

    1. Login to the Checkout portal.
    2. Navigate to ADD-ON on left-hand side menu and ensure the your account is set to LIVE (top-right on screen).
    3. Click on ENABLE APPLE PAY to activate the the Apple Pay option.
    4. Write your domain name into the domain name box. Ensure that you write the correct domain name.
    5. Click on DOWNLOAD to get your domain-verification file.
    6. Upload the domain-verification file to your website at the URL at step 2 in the screenshot below.
    7. Click on VERIFY DOMAIN.
    🎉

    You have now successfully enabled Apple Pay as Embedded Payment Page in your checkout.

    ApplePay for embeded checkout

    Error codes for domain verification

    The following error codes with description can help you to understand if you have not successfully enabled the Apple Pay for embedded checkout.

    Error codes

    Error codeExplanation
    Not foundWe couldn’t find your store URL. The domain may be typed incorrectly, or the verification file is missing. Make sure your verification file is placed exactly here: https://[domain]/.well-known/apple-developer-merchantid-domain-association.
    FileContentIsEmptyThe verification file is there but completely empty. Upload the correct Apple verification file again and ensure it contains content.
    FileContentShouldNotContainHtmlThe verification file contains HTML, which Apple does not accept. Upload the file exactly as you downloaded it from Apple — don’t open, edit, or format it before uploading.
    FileContentShouldNotContainHtmlThe verification file contains HTML, which Apple does not accept. Upload the file exactly as you downloaded it from Apple — don’t open, edit, or format it before uploading.
    FileContentIsNotCorrectThe file content doesn’t match what Apple expects. You may have uploaded the wrong file. Download a fresh verification file from Apple and upload it to the .well-known folder.
    FileContentTypeIsNotCorrectThe server is returning the file with the wrong content type. It must be served as text/plain. Adjust your server settings so the file is delivered with MIME type text/plain.
    ResponseTypeIsNotOkYour server isn’t responding correctly when accessing the verification file. The URL might be wrong, the file might be inaccessible, or the server may be returning errors like NotFound or BadRequest. Fix those issues and ensure the file contains valid Apple verification content.
    BadRequestThe domain exists, but the server returned a “Bad Request” response. Usually this happens when the domain URL is typed incorrectly or the verification file isn’t placed in the correct folder. Verify both and try again.
    NoSuchHostIsKnownTThe domain cannot be reached at all. Confirm the domain name is correct and active. If the domain is new, DNS may still be updating — wait for DNS propagation and try again.

    Plugins configuration overview

    To enable embedded checkout for Apple Pay, you need to prepare your plugin environment and a place for the domain-verification file for the transaction.

    In general, the apple-developer-merchantid-domain-association file should be in the ".well-known" folder and the public root path, so that it is accessible via the link: https://[DOMAIN_NAME]/.well-known/apple-developer-merchantid-domain-association.

    Usually, there are public folders that contain the root path.

    Nginx and Apache should be structured to read this file without the extension from the ".well-known" folder.

    Depending on the server and platform, the configuration may differ.

    Here are some example configurations for Nginx and Apache servers that we may need to add to the configuration files:

    Nginx

    Usually in /etc/nginx/{shop}.conf

    Nginx code example

    # .htaccess, .DS_Store, .htpasswd, etc., but keep .well-known available
    location ~* /\.(?!well-known\/) {
    deny all;
    }

    To find out more, please follow this reference link.

    Apache

    .htaccess in public folder

    Apache code example

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule

    It is important to remember that these are generic examples, and everyone can have their configuration so the best way is to customize the solution on the above requirements.

    Below are examples of the given platforms and explanations on how to modify the basic configuration.

    WooCommerce

    Read more about our WooCommerce plugin here.

    Step 1:

    Download your domain-verification file from the Checkout portal.

    Step 2:

    Upload the domain-verification file to your website using an FTP or SFTP client:

    • Navigate to the WordPress root directory.
    • In this folder, you should find directories “wp-admin”, “wp-content” and “wp-includes” et al.
    • Create a new directory with the following name: “.well-known”.
    • Paste the domain-verification file inside the “.well-known” directory.

    Step 3:

    Make sure your server is configured properly so the file is hosted and available at the following path: https://[YOUR_DOMAIN]/.well-known/apple-developer-merchantid-domain-association.

    See the example configuration documented by Nexi.

    Shopware 6.5

    Read more about our Shopware 6.5 plugin here.

    Step 1:

    Download your domain-verification file from the Checkout portal.

    Step 2:

    Upload the domain-verification file to your website using an FTP or SFTP client:

    • Navigate to the Shopware root directory.
    • Go to the “/public” folder.
    • Create a new directory with the following name: “.well-known”.
    • Paste the domain-verification file inside the “.well-known” directory.

    Step 3:

    Make sure your server is configured properly so the file is hosted and available at the following path: https://[YOUR_DOMAIN]/.well-known/apple-developer-merchantid-domain-association.

    See the example configuration documented by Nexi.

    Magento 2

    Read more about our Magento 2 plugin here.

    Step 1:

    Download your domain-verification file from the Checkout portal.

    Step 2:

    Upload the domain-verification file to your website using an FTP or SFTP client:

    • Navigate to the Magento 2 root directory.
    • Go to the “/pub” folder.
    • Create a new directory with the following name: “.well-known”.
    • Paste the domain-verification file inside the “.well-known” directory.

    Step 3:

    Make sure your server is configured properly so the file is hosted and available at the following path: https://[YOUR_DOMAIN]/.well-known/apple-developer-merchantid-domain-association.

    See the example configuration documented by Nexi.

    PrestaShop 1.7

    Read more about our PrestaShop 1.7 plugin here.

    Step 1:

    Download your domain-verification file from the Checkout portal.

    Step 2:

    Upload the domain-verification file to your website using an FTP or SFTP client:

    • Navigate to the PrestaShop root directory.
    • Create a new directory with the following name: “.well-known”.
    • Paste the domain-verification file inside the “.well-known” directory.

    Step 3:

    Make sure your server is configured properly so the file is hosted and available at the following path (see PrestaShop documentation here): https://[YOUR_DOMAIN]/.well-known/apple-developer-merchantid-domain-association.

    Opencart 3.0

    Upload the domain-verification file to your website using an FTP or SFTP client:

    • Navigate to upload directory
    • Create a new directory with the following name: ".well-known"
    • Paste the domain-verification file inside the ".well-known" directory

    Additional steps if you are running Nginx:

    • To make access for that directory, make sure that your nginx config approves the directories with a dot. There might be a case where you need to approve that in your nginx config file.

    Read more about our OpenCart 3.0 plugin here.

    Oxid 6.5

    Step 1:

    Download your domain-verification file from the Checkout portal.

    Step 2:

    Upload the domain-verification file to your website using an FTP or SFTP client:

    • Navigate to the Oxid root directory.
    • Go to the “/source” folder.
    • Create a new directory with the following name: “.well-known”.
    • Paste the domain-verification file inside the “.well-known” directory.

    Step 3:

    Make sure your server is configured properly so the file is hosted and available at the following path: https://[YOUR_DOMAIN]/.well-known/apple-developer-merchantid-domain-association.

    JTL-Shop 5

    Plugin version:: 5.0+

    Read more about our JTL-Shop 5 plugin here.

    Step 1:

    Download your domain-verification file from the Checkout portal.

    Step 2:

    Upload the domain-verification file to your website using an FTP or SFTP client:

    • Navigate to the JTL-Shop root directory.
    • In this folder, you should find directories “admin”, “plugins”, “templates”, and more.
    • Create a new directory with the following name: “.well-known”.
    • Paste the domain-verification file inside the “.well-known” directory.

    Step 3:

    Make sure your server is configured properly so the file is hosted and available at the following path: https://[YOUR_DOMAIN]/.well-known/apple-developer-merchantid-domain-association.

    See an example about configuration documented by Nexi.

    User journey

    This following section will describe the user journey and payment flow for your customer:

    1. When your consumer chooses Apple Pay as a payment method in the checkout, they will prompted to Apple Pay window.
    2. Customer can pay with
    • "Pay with Touch ID" or
    • "Double click to pay" depending on what system they are using.

    Payment flow

    If you use paymentMethodsConfiguration parameter to only show the payment method(s) that are preferred for the specific payment, Apple Pay can also be selected.
    Apple Pay is available only on Apple devices.

    Apple Pay is defined as a Wallet and can be displayed alone and together with other payment methods. It is not recommended to show Apple Pay alone if you do not detect the device used in the webshop before you are going to show the payment options.

    If Apple Pay is used alone on devices other than iOS/iPadOS/MacOS, there will be no visible payment methods and it is naturally a poor user experience. Apple Pay can be combined with other Wallet payment methods or together with cards.

    Recommended usage of the paymentMethodsConfiguration parameter for Apple Pay.

    If you have more than one wallet configured, you can use:

    code

    paymentMethodsConfiguration:[{"name":"Wallet"}]
    Checkout Apple pay wallet

    If Apple Pay is used as the only wallet, you should include card as well:

    code

    paymentMethodsConfiguration:[{"name":"Card"},{"name":"ApplePay"}]
    Checkout Apple pay wallets

    Was this helpful?

    What was your feeling about it?