Apple Pay merchant registration
  • 26 Apr 2024
  • 2 Minutes to read
  • Dark
    Light

Apple Pay merchant registration

  • Dark
    Light

Article summary

Apple mandates registration of each merchant with the domain or domains where the Apple Pay button is displayed. The domain may be a single domain that is used by all merchants, or sub-domain for each merchant.  

To register a merchant you will need to:

  • Prepare the merchant domain for registration (not required for Sandbox or Digital Payment Requests)

  • Register the merchant domain.

Prepare the merchant domain for registration

Before submitting a registration request to Evolve, you must prepare each domain included in the request. This step is not required for Sandbox or Digital Payment Requests.

Download this domain-verification file:

apple-developer-merchantid-domain-association
8.91 KB

Host the domain-verification file at the following path for each domain you want to register: https://[YOUR_DOMAIN]/.well-known/apple-developer-merchantid-domain-association

The domain-verification file must be in place before you submit a registration request to Evolve.

Register the merchant domain

To register one or more domains, a request must be made to the Evolve Platform. You will need the details from Prerequisites to fulfil this request.

Request

curl --location '{{PLATFORM_ENVIRONMENT}}/pf-api-gateway/apiGateway/applePayDomainRegistrationService/merchants/{{MERCHANT_ID}}/register' \
--header 'jwt: {{PLATFORM_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
    "domains": [
        "{{YOUR_DOMAIN}}"
    ]
}'

PLATFORM_ENVIRONMENT is the Sandbox or Production environment for onboarding and other non-payment tasks.

MERCHANT_ID is the identifier for the merchant that you are registering the domain or domains for.

PLATFORM_API_KEY is the API key for non-payment endpoints.

YOUR_DOMAIN is the domain or the list of domains you want to register for the merchant.

For Direct Checkout, this is the domain of your payment page where the Apple Pay button is displayed.

For Digital Payment Requests, the domains are:

Sandbox

secure.test.pay360evolve.com

Production

secure.pay360evolve.com

Responses

Status

Title

Notes

204

Request fulfilled

Registration successful

400

The domains are already present

The domains have previously been registered

400

Bad request

If response body contains violations.message "must not be empty", the request body was empty

404

Not found

Merchant account does not exist or is inactive

Unregister a merchant domain

To unregister one or more domains, a request must be made to the Evolve Platform. You will need the details from Prerequisites to fulfil this request.

Request

curl --location '{{PLATFORM_ENVIRONMENT}}/pf-api-gateway/apiGateway/applePayDomainRegistrationService/merchants/{{MERCHANT_ID}}/unregister' \
--header 'jwt: {{PLATFORM_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
    "domains": [
        "{{YOUR_DOMAIN}}"
    ]
}'

PLATFORM_ENVIRONMENT is the Sandbox or Production environment for onboarding and other non-payment tasks.

MERCHANT_ID is the identifier for the merchant that you are unregistering the domain or domains for.

PLATFORM_API_KEY is the API key for non-payment endpoints.

YOUR_DOMAIN is the domain or the list of domains you want to unregister for the merchant.

Responses

Status

Title

Notes

204

Request fulfilled

Unregister successful

400

Bad request

If response body contains violations.message "must not be empty", the request body was empty

404

Not found

Merchant account does not exist or is inactive

Get a list of registered merchant domains

To get a list of all merchants and domains registered for an integrator, a request must be made to the Evolve Platform. You will need the details from Prerequisites to fulfil this request.

Request

curl --location '{{PLATFORM_ENVIRONMENT}}/pf-api-gateway/apiGateway/applePayDomainRegistrationService/merchants/{{ISV_ID}}' \
--header 'API_KEY: {{PLATFORM_API_KEY}}'

PLATFORM_ENVIRONMENT is the Sandbox or Production environment for onboarding and other non-payment tasks.

ISV_ID is the identifier for the integrator.

PLATFORM_API_KEY is the API key for non-payment endpoints.

Response

{ 
“merchants”: [
        { 
    “merchant”: “merchant1”, 
    “domains”: [“domain1”, “domain2”…
            ]
        },
        { 
    “merchant”: “merchant2”, 
    “domains”: [“domain1”, “domain2”…
            ]
        }
    ]
}


Was this article helpful?

What's Next