Update domains for Apple Pay

Add or remove domains to be registered with Apple Pay.

Any domains that will be used to accept payments must first be verified with Apple.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/apple-pay.write scope.

PATCH
/accounts/{accountID}/apple-pay/domains
cURL Go .NET Java Ruby TypeScript PHP Python
curl -X PATCH "https://api.moov.io/accounts/{accountID}/apple-pay/domains" \
  -H "Authorization: Bearer {token}" \
  -H "x-moov-version: v2024.01.00" \
  --data-raw '{
    "addDomains": [
      "pay.classbooker.dev"
    ],
    "removeDomains": [
      "checkout.classbooker.dev"
    ]
  }'\
mc, _ := moov.NewClient()

var accountID string

addDomains := []string{"pay.classbooker.dev"}
removeDomains := []string{"checkout.classbooker.dev"}

mc.UpdateApplePayDomain(ctx, accountID,
  moov.PatchApplyPayDomains{
    AddDomains:    addDomains,
    RemoveDomains: removeDomains,
  })
using Moov.Sdk;
using Moov.Sdk.Models.Components;
using System.Collections.Generic;

var sdk = new MoovClient(xMoovVersion: "<value>");

var res = await sdk.ApplePay.UpdateMerchantDomainsAsync(
    accountID: "34b1c132-91d4-4676-9864-87e1d961d56d",
    body: new UpdateApplePayMerchantDomains() {
        AddDomains = new List<string>() {
            "pay.classbooker.dev",
        },
        RemoveDomains = new List<string>() {
            "checkout.classbooker.dev",
        },
    }
);

// handle response
package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.components.UpdateApplePayMerchantDomains;
import io.moov.sdk.models.errors.GenericError;
import io.moov.sdk.models.operations.UpdateApplePayMerchantDomainsResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws GenericError, Exception {

        Moov sdk = Moov.builder()
                .xMoovVersion("v2024.01.00")
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

        UpdateApplePayMerchantDomainsResponse res = sdk.applePay().updateMerchantDomains()
                .accountID("34b1c132-91d4-4676-9864-87e1d961d56d")
                .updateApplePayMerchantDomains(UpdateApplePayMerchantDomains.builder()
                    .addDomains(List.of(
                        "pay.classbooker.dev"))
                    .removeDomains(List.of(
                        "checkout.classbooker.dev"))
                    .build())
                .call();

        // handle response
    }
}
require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
      x_moov_version: 'v2024.01.00',
    )

res = s.apple_pay.update_merchant_domains(account_id: '34b1c132-91d4-4676-9864-87e1d961d56d', update_apple_pay_merchant_domains: Models::Components::UpdateApplePayMerchantDomains.new(
  add_domains: [
    'pay.classbooker.dev',
  ],
  remove_domains: [
    'checkout.classbooker.dev',
  ],
))

if res.status_code == 200
  # handle response
end
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  xMoovVersion: "v2024.01.00",
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.applePay.updateMerchantDomains({
    accountID: "34b1c132-91d4-4676-9864-87e1d961d56d",
    updateApplePayMerchantDomains: {
      addDomains: [
        "pay.classbooker.dev",
      ],
      removeDomains: [
        "checkout.classbooker.dev",
      ],
    },
  });

  console.log(result);
}

run();
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setXMoovVersion('v2024.01.00')
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$updateApplePayMerchantDomains = new Components\UpdateApplePayMerchantDomains(
    addDomains: [
        'pay.classbooker.dev',
    ],
    removeDomains: [
        'checkout.classbooker.dev',
    ],
);

$response = $sdk->applePay->updateDomains(
    accountID: '34b1c132-91d4-4676-9864-87e1d961d56d',
    updateApplePayMerchantDomains: $updateApplePayMerchantDomains

);

if ($response->statusCode === 200) {
    // handle response
}
from moovio_sdk import Moov
from moovio_sdk.models import components


with Moov(
    x_moov_version="v2024.01.00",
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

    res = moov.apple_pay.update_merchant_domains(account_id="34b1c132-91d4-4676-9864-87e1d961d56d", add_domains=[
        "pay.classbooker.dev",
    ], remove_domains=[
        "checkout.classbooker.dev",
    ])

    # Handle response
    print(res)
204 400 401 403 404 409 417 429 500 504
The request completed successfully, but there is no content to return.

x-request-id

string required
A unique identifier used to trace requests.
The server could not understand the request due to invalid syntax.
application/json
{
  "error": "string"
}

x-request-id

string required
A unique identifier used to trace requests.
The request contained missing or expired authentication.

x-request-id

string required
A unique identifier used to trace requests.
The user is not authorized to make the request.

x-request-id

string required
A unique identifier used to trace requests.
The requested resource was not found.

x-request-id

string required
A unique identifier used to trace requests.
Apple Pay domains are already registered for this account.

x-request-id

string required
A unique identifier used to trace requests.
The requested domains were not verified.

x-request-id

string required
A unique identifier used to trace requests.
Request was refused due to rate limiting.

x-request-id

string required
A unique identifier used to trace requests.
The request failed due to an unexpected error.

x-request-id

string required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.

x-request-id

string required
A unique identifier used to trace requests.

Headers

X-Moov-Version

string

Specify an API version.

API versioning follows the format vYYYY.QQ.BB, where

  • YYYY is the year
  • QQ is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
  • BB is the build number, starting at .01, for subsequent builds in the same quarter.
    • For example, v2024.01.00 is the initial release of the first quarter of 2024.

The latest version represents the most recent development state. It may include breaking changes and should be treated as a beta release. When no version is specified, the API defaults to v2024.01.00.

Path parameters

accountID

string required
ID of the Moov account representing the merchant.

Body

application/json

addDomains

array<string>
A unique list of fully-qualified, top-level or sub-domain names to add.

removeDomains

array<string>
A unique list of fully-qualified, top-level or sub-domain names to remove.