<!--
{
  "documentType" : "article",
  "framework" : "Technotes",
  "identifier" : "/documentation/Technotes/tn3173-troubleshooting-issues-with-your-apple-pay-merchant-id-configuration",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "TN3173: Troubleshooting issues with your Apple Pay merchant identifier configuration"
}
-->

# TN3173: Troubleshooting issues with your Apple Pay merchant identifier configuration

Diagnose errors due to invalid Apple Pay merchant identifier configurations by
identifying the underlying causes of common errors and explore their
potential solutions.

## Overview

This technote covers debugging common issues with your merchant identifier
(merchant ID) and certificates required for Apple Pay.
For more information about configuring your merchant ID
and certificates required for Apple Pay,
see [Configuring Your Environment](https://developer.apple.com/documentation/apple_pay_on_the_web/configuring_your_environment).

This technote does not cover configuring Apple Pay on the Web
when adopted via a platform integrator such as a third party e-commerce
platform or payment service provider (PSP)—
for instance, if you don’t have access to your own Apple Developer account.
If you are experiencing issues with onboarding via your e-commerce platform
or PSP, talk to these vendors directly.

## Certificate Signing Request formatting issues

When creating a merchant identity certificate or payment processing certificate,
you upload a certificate signing request (CSR) in a specific format.

If you receive an error stating the CSR algorithm/size is incorrect,
please check that you have created the key-pair and CSR in the correct format
for each of the specific certificates. As an example, consider the
following error:

```
"CSR algorithm/size incorrect. Expected: RSA(2048)"
```

The expected algorithm/size for each certificate is as follows:

- **Merchant identity certificate:** Use RSA (2048-bit).
- **Payment processing certificate:**
  - For processing payments in China mainland, use RSA (2048-bit).
  - For processing payments in all other regions, use ECC (256-bit).

For more information about generating CSRs for Apple Pay payment processing
certificates, see [Create a certificate signing request](https://developer.apple.com/help/account/create-certificates/create-a-certificate-signing-request/).

## Certificate validation issues

If you have multiple PSPs, ensure your CSR is uploaded to the corresponding PSP
for the merchant.
Mismatching CSRs causes validation issues.
For example, for multiple merchant configurations:

- **Match:** Merchant identity certificate #1 is uploaded to PSP #1
- **Mismatch:** Merchant identity certificate #1 is uploaded to PSP #2

In addition, for a single merchant process for both RSA and ECC certificates:

- **Match:** Merchant identity certificate using RSA is uploaded to PSP for RSA.
- **Mismatch:** Merchant identity certificate using ECC uploaded to PSP for ECC.

## Domain verification issues

Domain verification can fail for many reasons.
Here are some common issues and suggestions on how to address them:

- The Apple domain verification server can’t reach your public server.
- The Apple domain verification server does not trust your server’s TLS
  implementation, cypher suites, or certificates.
- Your domain is behind a proxy or in a private network.
- Your domain verification file is served via a redirect,
  is invalid or expired,
  or is associated with a different domain.

For more information about merchant domain validation, see [Setting Up Your Server](https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server).

### Apple cannot reach your server

When the domain verification request fails, it may be unclear why the
failure occurred. To debug this scenario:

- Review your server’s access logs for any errors or failed connections.
  - Temporarily set your server logs to be verbose,
    if your default log levels don’t identify an issue.
- Make sure that the domain verification request is reaching your server.
  - If the request is not reaching the server,
    then there is an issue with Apple’s domain verification server
    reaching your server.
  - If the request is reaching your server, and it is not a TLS issue,
    then your server-side logs should provide more insight into the underlying
    cause of the connection failures to the Apple servers.

### Apple does not trust your server

Even though your server supports TLS 1.2 and later,
uses the correct Apple IP ranges in your allowlists,
and leverages the correct cypher suites,
you can still experience domain verification failures.  This typically indicates that you have an untrusted root certificate
for the current Apple operating system.
For a complete list of trusted root certificates,
see [Available trusted root certificates for Apple operating systems](https://support.apple.com/en-us/103272).

### Your domain is behind a proxy or in a private network

A network proxy or load balancer might be routing traffic incorrectly.
Apple’s domain verification server not only validates your merchant domain
verification file,
but also reads client-specific information about your TLS certificate.
When this request flows through a proxy it will gather incorrect information
about your domain’s certificate because of the proxy. Another issue occurs when
there is a proxy that your server communicates with and Apple’s domain
verification server cannot directly reach the server where the domain is hosted.
In this case, the proxy may need to be removed.

Domain verification issues for a server sitting behind a load balancer are
uncommon but can happen when the load balancer is routing traffic incorrectly.
If you think this is the case for network, double-check the routing algorithm
on your load balancer to ensure that traffic always makes it to your server.

Lastly, if your domain is on a private network and needs to be verified,
make sure that Apple’s domain verification server IP addresses are allowed
in your network’s bi-directional firewall rules.
To learn more about these IP address ranges, see [Setting Up Your Server](https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server).

### Your domain verification file is served via a redirect

To verify the domain,
the Apple domain verification server will make a request to the specific
file path and will expect the contents of the domain verification file to be
returned in the response body,
alongside a `200 OK` HTTP status.

When the domain verification file is made available via a redirect,
the domain verification server is unable to verify the domain as Apple cannot confirm the response
has come from the same domain that was registered. You should remove any
redirects and serve the response directly from the server and domain
that received the request.

### Your domain verification file is invalid or expired

The domain verification file is only valid for seven (7) days after generation.
If you attempt to verify the domain after this time,
the process will not complete successfully and a new file should be generated
and verified within another seven (7) days.

It is also worth noting that only the most recently generated file for
each domain is considered valid. Each time you generate a new domain verification
file it will invalidate all previously generated files.
Ensure that you also have the most recent file.

### Your domain verification file is associated to a different domain

The domain verification file generated is specific to the exact domain
that you register for your Apple Developer account.
This means the value registered must match exactly to the domain where the
verification file is served from—including any subdomains,
as well as the `www.` subdomain.

If your domain is available both with and without the `www.` subdomain,
it is recommended that you register and verify both variants to ensure all users
can successfully access Apple Pay,
regardless of the domain they used to access at your website.

> Note:
> If your website uses multiple subdomains (such as `example.com`,
> `www.example.com`, and `shop.example.com`),
> each requires its own entry as a registered merchant domain,
> and each must serve its own domain verification file.

If you attempt to verify your domain with a file associated with a different
domain, you will not be able to successfully complete verification.
So ensure you use the file specific to the domain you have registered.

### Your domain does not automatically re-verify

Apple Pay periodically re-verifies your domain based on the
expiration date of your SSL certificate. In most cases, however,
there are a few things that can affect the success of this automatic  re-verification process.

The Apple domain verification server attempts domain re-verification thirty (30)
days before your SSL certificate expires by making a request to the same path
used for the original verification process.
You don’t need to update or replace the file—the domain verification server
expects a response with a `200 OK` HTTP status at this file path.
In addition, the domain verification server makes a request to your root domain
(e.g. `subdomain.example.com`) and expects a response with a `200 OK` HTTP status.

If the domain verification server is unable to re-verify your domain,
it will re-attempt verification fifteen (15) days before,
and then once again seven (7) days before,
the SSL certificate expires.
If automatic re-verification fails, you may need to
manually re-verify the domain again by downloading
and placing a new verification file on your server.

Please confirm the following when automatic re-verification fails:

- The domain verification file path returns a `200 OK` HTTP status when a
  verification request is made.
- The root domain returns a `200 OK` HTTP status when a verification request
  is made.
- Your SSL certificate has been replaced/updated with a new expiry.
- The SSL certificate chain of trust has not changed. The domain expiry
  extension operation relies on consistency of the domain certificate chain.
  Therefore, the certificate chain returned by the domain must match the version
  the domain verification server cached from the original certificate.

## Revision History

- **2024-06-11** First published.

## See Also

[TN3174: Diagnosing issues with the Apple Pay payment sheet on your website](/documentation/Technotes/tn3174-diagnosing-issues-with-the-apple-pay-payment-sheet-on-your-website)

Diagnose errors received while presenting the Apple Pay payment sheet on
your website by identifying the underlying causes of common errors and explore
their potential solutions.

[TN3175: Diagnosing issues with displaying the Apple Pay button on your website](/documentation/Technotes/tn3175-diagnosing-issues-with-displaying-the-apple-pay-button-on-your-website)

Diagnose common errors received while displaying the Apple Pay button on your
website by identifying the underlying causes, and explore potential solutions.

[TN3176: Troubleshooting Apple Pay payment processing issues](/documentation/Technotes/tn3176-troubleshooting-apple-pay-payment-processing-issues)

Diagnose errors that occur when processing Apple Pay payments,
identify common causes, and explore potential solutions.

[TN3206: Updating Apple Pay certificates](/documentation/Technotes/tn3206-updating-apple-pay-certificates)

Learn how to create, manage, and rotate Apple Pay certificates to maintain uninterrupted payment processing.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)