# ApplePay Merchant Registration
Apple requires e-commerce sites to be registered in order to process ApplePay. GoDaddy Payments, as Payment Service Provider, will interface all clients interaction between ApplePay server. Learn more on how to enable your e-commerce business for ApplePay.
# Pre-requisite
To proceed, you will need to have Developer Account for GoDaddy Payments API to have the necessary credential to access our following environment servers:
Development Host | Testing Host | Production Host |
---|---|---|
https://services-ci.poynt.net | https://services-ote.poynt.net | https://services.poynt.net |
Node support
Our Node SDK provides APIs to fetch domain-association-file and to register merchant.
# Merchant registration in ApplePay flow:
- Your server registers merchant for ApplePay
- (Production-only) Apple will validate your domain-association-file behind the scene by
GET {your.website.com}/.well-known/apple-developer-merchantid-domain-association
- Registration succeeded
- Your buyer clicks on ApplePay button'
- Apple checks for merchant registration
- Upon success, ApplePay payment sheet will show
# Domain Association File Preparation
# Get domain-association-file
Fetch domain file from GoDaddy Payments host based on environment
GET /businesses/{business-uuid}/apple-pay/domain-association-file
or via Node SDK
poynt.getApplePayDomainAssociationFile(
{
businessId: "business-uuid", // required
},
function (err, doc) {
if (err) {
// handle error
} else {
// do stuff with doc
}
});
::: details Sample Request using cURL
curl --location 'https://services.poynt.net/businesses/2989f251-147f-4acf-ad8f-4b6795523d43/apple-pay/domain-association-file'
--header 'Content-Type: text/plain'
:::
# Host domain association file required
https://{my.website.com}/.well-known/apple-developer-merchantid-domain-association
# Merchant Registration API
# Register merchant required
Register new domain for ApplePay (up to 99 domains per call)
- Node SDK
poynt.updateApplePayRegistration(
{
businessId: "business-uuid", // required
registerDomains: ["fully.qualified.domain.name"], // required
merchantName: "GDP Test Merchant", // required
merchantUrl: "https://www.optional.com" // optional
},
function (err, doc) {
if (err) {
// handle error
} else {
// do stuff with doc
}
});
- Cloud API
- Request pattern:
POST /businesses/{business-uuid}/apple-pay/registration
- Request Header
- Authorization: {access_token}
- Content-Type : application/json
- Request body
- registerDomains : List of fully qualified domain names where Apple Pay button is displayed
- merchantName: Merchant's e-commerce name
- merchantUrl: Merchant site where e-commerce store is hosted
{ "registerDomains": ["fully.qualified.domain.name"], // required "merchantName": "GDP Test Merchant", // required "merchantUrl": "https://www.optional.com" // optional }
- Sample response:
{ "domain": ["fully.qualified.domain.name"], "merchantName": "GDP Test Merchant", "merchantUrl": "https://www.optional.com" }
# Get Merchant Details optional
Verify your merchant registration details
- Node SDK
poynt.getApplePayMerchant( { businessId: "business-uuid", // required }, function (err, doc) { if (err) { // handle error } else { // do stuff with doc } });
- Cloud API
- Request pattern: GET
GET /businesses/{business-id}/apple-pay/registration
- Request Header
- Authorization: {access_token}
- Content-Type : application/json
- Sample response:
{ "domain": ["fully.qualified.domain.name"], "merchantName": "GDP Test Merchant", "merchantUrl": "https://www.optional.com" }
- Request pattern: GET
::: details Sample Request using cURL
curl --location 'https://services.poynt.net/businesses/2989f251-147f-4acf-ad8f-4b6795523d43/apple-pay/registration' \
--header 'Authorization: BEARER {access_token}' \
--header 'Content-Type: application/json'
:::
# Update Merchant optional
In case merchant migrates to new domain, unregister merchant's old domain then register with the new domain
- Node SDK
poynt.updateApplePayRegistration(
{
businessId: "business-uuid", // required
// info for register
registerDomains: ["fully.qualified.domain.name"],
merchantName: "for-rename-merchant", // optional
// info for unregister
unregisterDomains: ["fully.qualified.domain.name"],
reason: "insert human-readable reason" // optional
},
function (err, doc) {
if (err) {
// handle error
} else {
// do stuff with doc
}
});
- Cloud API
- Request pattern:
POST /businesses/{business-id}/apple-pay/registration
- Request Header
- Authorization: Bearer {Access Token}
- Content-Type : application/json
- Request body
{ "registerDomains": ["fully.qualified.domain.name"], "merchantName": "for-rename-merchant", // optional "unregisterDomains": ["fully.qualified.domain.name"], "reason" : "human readable unregistration reason" // optional }
- Sample response
{ "domain": ["fully.qualified.domain.name"], "merchantName": "GDP Test Merchant", "merchantUrl": "https://www.optional.com" }
- Request pattern:
::: details Sample Request using cURL
curl --location 'https://services.poynt.net/businesses/2989f251-147f-4acf-ad8f-4b6795523d43/apple-pay/registration' \
--header 'Authorization: BEARER {access_token}' \
--header 'Content-Type: application/json' \
--data '{
"unregisterDomains": [
"my1.domain.com"
],
"registerDomains": [
"my2.domain.com",
"my3.domain.com"
],
"merchantName":"Business DBA",
"merchantUrl":"https://my1.domain.com"
}'
:::