Create Apple Pay session

Create a session with Apple Pay to facilitate a payment.

Read our Apple Pay tutorial to learn more. A successful response from this endpoint should be passed through to Apple Pay unchanged.

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

POST
/accounts/{accountID}/apple-pay/sessions
cURL
1
2
3
4
5
6
curl -X POST "https://api.moov.io/accounts/{accountID}/apple-pay/sessions" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "domain": "checkout.classbooker.dev",
    "displayName": "Example Merchant"
  }'\
200 400 401 403 404 409 422 429 500 504
The request completed successfully.

Stringified session object returned from Apple Pay.

The string value should be deserialized as a JSON object before passing to Apple.

"{\"epochTimestamp\":1733783167685,\"expiresAt\":1733786767685...}"

x-request-id

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

x-request-id

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

x-request-id

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

x-request-id

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

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request conflicted with the current state of the target resource.
{
  "error": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.
{
  "error": "string"
}

x-request-id

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

x-request-id

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

x-request-id

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

x-request-id

string <uuid> required
A unique identifier used to trace requests.

Headers

x-moov-version

string
API version

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.

Default: v2024.01.00

Path parameters

accountID

string <uuid> required
ID of the Moov account representing the merchant.

Body

application/json

displayName

string <=64 characters required
A UTF-8 string to display in the Buy button.

domain

string required
A fully qualified top-level or sub-domain name where you will accept Apple Pay. Should not include “https”.

Response

application/json

Stringified session object returned from Apple Pay.

The string value should be deserialized as a JSON object before passing to Apple.