Apple Pay · JSON Structure

Apple Pay Payment Request Structure

Represents an ApplePayPaymentRequest used to configure an Apple Pay payment session, specifying the merchant capabilities, supported networks, payment amount, and optional shipping and billing requirements.

Type: object Properties: 16 Required: 5
AppleContactless PaymentsDigital WalletE-CommerceMobile PaymentsPayments

Apple Pay Payment Request is a JSON Structure definition published by Apple Pay, describing 16 properties, of which 5 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

countryCode currencyCode supportedNetworks merchantCapabilities total lineItems requiredBillingContactFields requiredShippingContactFields shippingMethods shippingType shippingContactEditingMode applicationData supportedCountries recurringPaymentRequest automaticReloadPaymentRequest multiTokenContexts

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "name": "Apple Pay Payment Request",
  "$id": "https://developer.apple.com/schemas/apple-pay/payment-request.json",
  "description": "Represents an ApplePayPaymentRequest used to configure an Apple Pay payment session, specifying the merchant capabilities, supported networks, payment amount, and optional shipping and billing requirements.",
  "type": "object",
  "properties": {
    "countryCode": {
      "type": "string",
      "description": "The two-letter ISO 3166-1 alpha-2 country code for the merchant's country of operation",
      "pattern": "^[A-Z]{2}$",
      "examples": [
        "US",
        "GB",
        "CA"
      ]
    },
    "currencyCode": {
      "type": "string",
      "description": "The three-letter ISO 4217 currency code for the payment",
      "pattern": "^[A-Z]{3}$",
      "examples": [
        "USD",
        "GBP",
        "EUR"
      ]
    },
    "supportedNetworks": {
      "type": "array",
      "description": "The payment networks the merchant supports",
      "items": {
        "type": "string",
        "enum": [
          "visa",
          "masterCard",
          "amex",
          "discover",
          "jcb",
          "chinaUnionPay",
          "interac",
          "privateLabel",
          "eftpos",
          "cartesBancaires",
          "iD",
          "quicPay",
          "suica",
          "mada",
          "bancomat",
          "bancontact",
          "girocard"
        ]
      },
      "minItems": 1
    },
    "merchantCapabilities": {
      "type": "array",
      "description": "The payment capabilities the merchant supports",
      "items": {
        "type": "string",
        "enum": [
          "supports3DS",
          "supportsEMV",
          "supportsCredit",
          "supportsDebit"
        ]
      },
      "minItems": 1
    },
    "total": {
      "$ref": "#/$defs/LineItem",
      "description": "The total amount for the payment, including the merchant name as the label"
    },
    "lineItems": {
      "type": "array",
      "description": "A list of line items explaining the charges, such as subtotal, tax, discount, and shipping",
      "items": {
        "$ref": "#/$defs/LineItem"
      }
    },
    "requiredBillingContactFields": {
      "type": "array",
      "description": "The billing contact fields required to process the payment",
      "items": {
        "$ref": "#/$defs/ContactField"
      }
    },
    "requiredShippingContactFields": {
      "type": "array",
      "description": "The shipping contact fields required to fulfill the order",
      "items": {
        "$ref": "#/$defs/ContactField"
      }
    },
    "shippingMethods": {
      "type": "array",
      "description": "Available shipping methods for the order",
      "items": {
        "$ref": "#/$defs/ShippingMethod"
      }
    },
    "shippingType": {
      "type": "string",
      "description": "The type of shipping used for this request, which determines the wording on the payment sheet",
      "enum": [
        "shipping",
        "delivery",
        "storePickup",
        "servicePickup"
      ],
      "default": "shipping"
    },
    "shippingContactEditingMode": {
      "type": "string",
      "description": "Controls whether the shipping contact can be edited on the payment sheet",
      "enum": [
        "enabled",
        "storePickup"
      ]
    },
    "applicationData": {
      "type": "string",
      "description": "Base64-encoded application-specific data that is included in the payment token hash for verification"
    },
    "supportedCountries": {
      "type": "array",
      "description": "A list of ISO 3166-1 alpha-2 country codes for cards that can be used for payment. If not specified, all countries are supported",
      "items": {
        "type": "string",
        "pattern": "^[A-Z]{2}$"
      }
    },
    "recurringPaymentRequest": {
      "$ref": "#/$defs/RecurringPaymentRequest"
    },
    "automaticReloadPaymentRequest": {
      "$ref": "#/$defs/AutomaticReloadPaymentRequest"
    },
    "multiTokenContexts": {
      "type": "array",
      "description": "An array of payment token contexts for multi-merchant payments",
      "items": {
        "$ref": "#/$defs/PaymentTokenContext"
      }
    }
  },
  "required": [
    "countryCode",
    "currencyCode",
    "supportedNetworks",
    "merchantCapabilities",
    "total"
  ]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/apple-pay-payment-request-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.