- 26 Apr 2024
- 2 Minutes to read
- Print
- DarkLight
Apple Pay merchant registration
- Updated on 26 Apr 2024
- 2 Minutes to read
- Print
- DarkLight
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:
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”…
]
}
]
}