naftiko: 1.0.0-alpha2 info: label: Apple Pay JS API — Merchant Registration description: 'Apple Pay JS API — Merchant Registration. 3 operations. Lead operation: Apple Pay List registered merchant domains. Self-contained Naftiko capability covering one Apple Pay business surface.' tags: - Apple Pay - Merchant Registration created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: APPLE_PAY_API_KEY: APPLE_PAY_API_KEY capability: consumes: - type: http namespace: js-merchant-registration baseUri: https://apple-pay-gateway.apple.com/paymentservices description: Apple Pay JS API — Merchant Registration business capability. Self-contained, no shared references. resources: - name: domains path: /domains operations: - name: listmerchantdomains method: GET description: Apple Pay List registered merchant domains outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: merchantIdentifier in: query type: string description: The merchant identifier issued by Apple required: true - name: removemerchantdomain method: DELETE description: Apple Pay Remove a registered merchant domain outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: merchantIdentifier in: query type: string description: The merchant identifier issued by Apple required: true - name: domainName in: query type: string description: The domain name to remove required: true - name: registerMerchant path: /registerMerchant operations: - name: registermerchant method: POST description: Register a merchant for Apple Pay on the Web outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: js-merchant-registration-rest port: 8080 description: REST adapter for Apple Pay JS API — Merchant Registration. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/domains name: domains description: REST surface for domains. operations: - method: GET name: listmerchantdomains description: Apple Pay List registered merchant domains call: js-merchant-registration.listmerchantdomains with: merchantIdentifier: rest.merchantIdentifier outputParameters: - type: object mapping: $. - method: DELETE name: removemerchantdomain description: Apple Pay Remove a registered merchant domain call: js-merchant-registration.removemerchantdomain with: merchantIdentifier: rest.merchantIdentifier domainName: rest.domainName outputParameters: - type: object mapping: $. - path: /v1/registermerchant name: registermerchant description: REST surface for registerMerchant. operations: - method: POST name: registermerchant description: Register a merchant for Apple Pay on the Web call: js-merchant-registration.registermerchant with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: js-merchant-registration-mcp port: 9090 transport: http description: MCP adapter for Apple Pay JS API — Merchant Registration. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: apple-pay-list-registered-merchant description: Apple Pay List registered merchant domains hints: readOnly: true destructive: false idempotent: true call: js-merchant-registration.listmerchantdomains with: merchantIdentifier: tools.merchantIdentifier outputParameters: - type: object mapping: $. - name: apple-pay-remove-registered-merchant description: Apple Pay Remove a registered merchant domain hints: readOnly: false destructive: true idempotent: true call: js-merchant-registration.removemerchantdomain with: merchantIdentifier: tools.merchantIdentifier domainName: tools.domainName outputParameters: - type: object mapping: $. - name: register-merchant-apple-pay-web description: Register a merchant for Apple Pay on the Web hints: readOnly: false destructive: false idempotent: false call: js-merchant-registration.registermerchant with: body: tools.body outputParameters: - type: object mapping: $.