openapi: 3.1.0 info: title: Apple Pay JS Merchant Registration API description: Server-side REST API used in conjunction with the Apple Pay JS client-side JavaScript API for processing Apple Pay payments on the web. Merchants call Apple's payment gateway to validate their merchant identity and obtain a payment session, which is then used by the client-side ApplePaySession to authorize payments via Touch ID or Face ID in Safari. version: '1.0' contact: name: Apple Developer Support url: https://developer.apple.com/support/apple-pay/ termsOfService: https://developer.apple.com/apple-pay/acceptable-use-guidelines/ servers: - url: https://apple-pay-gateway.apple.com/paymentservices description: Apple Pay Production Gateway - url: https://apple-pay-gateway-nc-pod5.apple.com/paymentservices description: Apple Pay Sandbox Gateway security: - merchantCertificate: [] tags: - name: Merchant Registration description: Register and manage merchant domains for Apple Pay on the Web paths: /registerMerchant: post: operationId: registerMerchant summary: Register a merchant for Apple Pay on the Web description: Registers a merchant domain for Apple Pay on the Web. The merchant must host a domain verification file at /.well-known/apple-developer-merchantid-domain-association before calling this endpoint. tags: - Merchant Registration requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MerchantRegistrationRequest' responses: '200': description: Merchant domain registered successfully content: application/json: schema: $ref: '#/components/schemas/MerchantRegistrationResponse' '400': description: Invalid request or domain verification failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Authentication failed /domains: get: operationId: listMerchantDomains summary: Apple Pay List registered merchant domains description: Returns a list of domains that have been registered for Apple Pay on the Web for the authenticated merchant. tags: - Merchant Registration parameters: - name: merchantIdentifier in: query required: true description: The merchant identifier issued by Apple schema: type: string responses: '200': description: List of registered domains content: application/json: schema: $ref: '#/components/schemas/MerchantDomainsResponse' '401': description: Authentication failed delete: operationId: removeMerchantDomain summary: Apple Pay Remove a registered merchant domain description: Removes a previously registered domain from the merchant's Apple Pay on the Web configuration. tags: - Merchant Registration parameters: - name: merchantIdentifier in: query required: true description: The merchant identifier issued by Apple schema: type: string - name: domainName in: query required: true description: The domain name to remove schema: type: string responses: '200': description: Domain removed successfully '401': description: Authentication failed '404': description: Domain not found components: schemas: MerchantDomainsResponse: type: object properties: merchantIdentifier: type: string description: The merchant identifier domainNames: type: array items: type: string description: List of registered domain names MerchantRegistrationResponse: type: object properties: status: type: string description: Registration status merchantIdentifier: type: string description: The merchant identifier registeredDomains: type: array items: type: string description: List of successfully registered domains ErrorResponse: type: object properties: statusCode: type: string description: Error status code statusMessage: type: string description: Human-readable error message MerchantRegistrationRequest: type: object required: - merchantIdentifier - domainNames properties: merchantIdentifier: type: string description: The Apple-issued merchant identifier domainNames: type: array items: type: string description: List of domain names to register for Apple Pay securitySchemes: merchantCertificate: type: mutualTLS description: Mutual TLS authentication using the Apple Pay Merchant Identity Certificate. The certificate is obtained from the Apple Developer portal and must be associated with the merchant identifier. externalDocs: description: Apple Pay on the Web Documentation url: https://developer.apple.com/documentation/apple_pay_on_the_web