Zuora · Capability

API Reference — Payment Methods

API Reference — Payment Methods. 15 operations. Lead operation: Register an Apple Pay domain. Self-contained Naftiko capability covering one Zuora business surface.

Run with Naftiko ZuoraPayment Methods

What You Can Do

POST
Postregisterapplepaydomain — Register an Apple Pay domain
/v1/payment-methods/apple-pay/domains
GET
Getlistapplepaydomains — List registered Apple Pay domains
/v1/payment-methods/apple-pay/domains
DELETE
Deleteunregisterapplepaydomain — Unregister an Apple Pay domain
/v1/payment-methods/apple-pay/domains/{id}
POST
Postpaymentmethods — Create a payment method
/v1/v1/payment-methods
POST
Postpaymentmethodsdecryption — Create an Apple Pay payment method
/v1/v1/payment-methods/decryption
PUT
Putpaymentmethod — Update a payment method
/v1/v1/payment-methods/{payment-method-id}
GET
Getpaymentmethod — Retrieve a payment method
/v1/v1/payment-methods/{payment-method-id}
DELETE
Deletepaymentmethods — Delete a payment method
/v1/v1/payment-methods/{payment-method-id}
POST
Postcreatestoredcredentialprofile — Create a stored credential profile
/v1/v1/payment-methods/{payment-method-id}/profiles
GET
Getstoredcredentialprofiles — List stored credential profiles of a payment method
/v1/v1/payment-methods/{payment-method-id}/profiles
POST
Postcancelstoredcredentialprofile — Cancel a stored credential profile
/v1/v1/payment-methods/{payment-method-id}/profiles/{profile-number}/cancel
POST
Postexpirestoredcredentialprofile — Expire a stored credential profile
/v1/v1/payment-methods/{payment-method-id}/profiles/{profile-number}/expire
PUT
Putscrubpaymentmethods — Scrub a payment method
/v1/v1/payment-methods/{payment-method-id}/scrub
PUT
Putverifypaymentmethods — Verify a payment method
/v1/v1/payment-methods/{payment-method-id}/verify
POST
Postcreatepaymentsession — Create a payment session
/v1/web-payments/sessions

MCP Tools

register-apple-pay-domain

Register an Apple Pay domain

list-registered-apple-pay-domains

List registered Apple Pay domains

read-only idempotent
unregister-apple-pay-domain

Unregister an Apple Pay domain

idempotent
create-payment-method

Create a payment method

create-apple-pay-payment-method

Create an Apple Pay payment method

update-payment-method

Update a payment method

idempotent
retrieve-payment-method

Retrieve a payment method

read-only idempotent
delete-payment-method

Delete a payment method

idempotent
create-stored-credential-profile

Create a stored credential profile

list-stored-credential-profiles-payment

List stored credential profiles of a payment method

read-only idempotent
cancel-stored-credential-profile

Cancel a stored credential profile

expire-stored-credential-profile

Expire a stored credential profile

scrub-payment-method

Scrub a payment method

idempotent
verify-payment-method

Verify a payment method

idempotent
create-payment-session

Create a payment session

Capability Spec

v1-payment-methods.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: API Reference — Payment Methods
  description: 'API Reference — Payment Methods. 15 operations. Lead operation: Register an Apple Pay domain. Self-contained
    Naftiko capability covering one Zuora business surface.'
  tags:
  - Zuora
  - Payment Methods
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ZUORA_API_KEY: ZUORA_API_KEY
capability:
  consumes:
  - type: http
    namespace: v1-payment-methods
    baseUri: https://rest.zuora.com
    description: API Reference — Payment Methods business capability. Self-contained, no shared references.
    resources:
    - name: payment-methods-apple-pay-domains
      path: /payment-methods/apple-pay/domains
      operations:
      - name: postregisterapplepaydomain
        method: POST
        description: Register an Apple Pay domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Request
          in: body
          type: string
          required: true
      - name: getlistapplepaydomains
        method: GET
        description: List registered Apple Pay domains
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: domainName
          in: query
          type: string
          description: 'Specifies a domain name such as `zuora.com` and the registered domains containing the specified domain
            name will be returned. '
    - name: payment-methods-apple-pay-domains-id
      path: /payment-methods/apple-pay/domains/{id}
      operations:
      - name: deleteunregisterapplepaydomain
        method: DELETE
        description: Unregister an Apple Pay domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of the domain, such as `402881a38924ff1001892502da090021`.
          required: true
    - name: v1-payment-methods
      path: /v1/payment-methods
      operations:
      - name: postpaymentmethods
        method: POST
        description: Create a payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Request
          in: body
          type: string
          required: true
    - name: v1-payment-methods-decryption
      path: /v1/payment-methods/decryption
      operations:
      - name: postpaymentmethodsdecryption
        method: POST
        description: Create an Apple Pay payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Request
          in: body
          type: string
          required: true
    - name: v1-payment-methods-payment-method-id
      path: /v1/payment-methods/{payment-method-id}
      operations:
      - name: putpaymentmethod
        method: PUT
        description: Update a payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: Unique ID of the payment method to update.
          required: true
        - name: Request
          in: body
          type: string
          required: true
      - name: getpaymentmethod
        method: GET
        description: Retrieve a payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: Unique ID of the payment method to update.
          required: true
      - name: deletepaymentmethods
        method: DELETE
        description: Delete a payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: Unique identifier of a payment method. (Since this ID is unique, and linked to a customer account in
            the system, no customer identifier is needed.)
          required: true
    - name: v1-payment-methods-payment-method-id-profiles
      path: /v1/payment-methods/{payment-method-id}/profiles
      operations:
      - name: postcreatestoredcredentialprofile
        method: POST
        description: Create a stored credential profile
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: ID of a payment method.
          required: true
        - name: Request
          in: body
          type: string
          required: true
      - name: getstoredcredentialprofiles
        method: GET
        description: List stored credential profiles of a payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: ID of a payment method.
          required: true
        - name: includeAll
          in: query
          type: boolean
          description: Specifies whether to retrieve all the stored credential profiles within the payment method.
    - name: v1-payment-methods-payment-method-id-profiles-profile-number-cancel
      path: /v1/payment-methods/{payment-method-id}/profiles/{profile-number}/cancel
      operations:
      - name: postcancelstoredcredentialprofile
        method: POST
        description: Cancel a stored credential profile
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: ID of a payment method.
          required: true
        - name: profile-number
          in: path
          type: integer
          description: Number that identifies a stored credential profile within the payment method.
          required: true
    - name: v1-payment-methods-payment-method-id-profiles-profile-number-expire
      path: /v1/payment-methods/{payment-method-id}/profiles/{profile-number}/expire
      operations:
      - name: postexpirestoredcredentialprofile
        method: POST
        description: Expire a stored credential profile
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: ID of a payment method.
          required: true
        - name: profile-number
          in: path
          type: integer
          description: Number that identifies a stored credential profile within the payment method.
          required: true
    - name: v1-payment-methods-payment-method-id-scrub
      path: /v1/payment-methods/{payment-method-id}/scrub
      operations:
      - name: putscrubpaymentmethods
        method: PUT
        description: Scrub a payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: The ID of the payment method where you want to scrub the sensitive data.
          required: true
    - name: v1-payment-methods-payment-method-id-verify
      path: /v1/payment-methods/{payment-method-id}/verify
      operations:
      - name: putverifypaymentmethods
        method: PUT
        description: Verify a payment method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payment-method-id
          in: path
          type: string
          description: The ID of the payment method to be verified.
          required: true
        - name: body
          in: body
          type: string
          required: true
    - name: web-payments-sessions
      path: /web-payments/sessions
      operations:
      - name: postcreatepaymentsession
        method: POST
        description: Create a payment session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Request
          in: body
          type: string
          required: true
  exposes:
  - type: rest
    namespace: v1-payment-methods-rest
    port: 8080
    description: REST adapter for API Reference — Payment Methods. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/payment-methods/apple-pay/domains
      name: payment-methods-apple-pay-domains
      description: REST surface for payment-methods-apple-pay-domains.
      operations:
      - method: POST
        name: postregisterapplepaydomain
        description: Register an Apple Pay domain
        call: v1-payment-methods.postregisterapplepaydomain
        with:
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getlistapplepaydomains
        description: List registered Apple Pay domains
        call: v1-payment-methods.getlistapplepaydomains
        with:
          domainName: rest.domainName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/payment-methods/apple-pay/domains/{id}
      name: payment-methods-apple-pay-domains-id
      description: REST surface for payment-methods-apple-pay-domains-id.
      operations:
      - method: DELETE
        name: deleteunregisterapplepaydomain
        description: Unregister an Apple Pay domain
        call: v1-payment-methods.deleteunregisterapplepaydomain
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods
      name: v1-payment-methods
      description: REST surface for v1-payment-methods.
      operations:
      - method: POST
        name: postpaymentmethods
        description: Create a payment method
        call: v1-payment-methods.postpaymentmethods
        with:
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods/decryption
      name: v1-payment-methods-decryption
      description: REST surface for v1-payment-methods-decryption.
      operations:
      - method: POST
        name: postpaymentmethodsdecryption
        description: Create an Apple Pay payment method
        call: v1-payment-methods.postpaymentmethodsdecryption
        with:
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods/{payment-method-id}
      name: v1-payment-methods-payment-method-id
      description: REST surface for v1-payment-methods-payment-method-id.
      operations:
      - method: PUT
        name: putpaymentmethod
        description: Update a payment method
        call: v1-payment-methods.putpaymentmethod
        with:
          payment-method-id: rest.payment-method-id
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getpaymentmethod
        description: Retrieve a payment method
        call: v1-payment-methods.getpaymentmethod
        with:
          payment-method-id: rest.payment-method-id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletepaymentmethods
        description: Delete a payment method
        call: v1-payment-methods.deletepaymentmethods
        with:
          payment-method-id: rest.payment-method-id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods/{payment-method-id}/profiles
      name: v1-payment-methods-payment-method-id-profiles
      description: REST surface for v1-payment-methods-payment-method-id-profiles.
      operations:
      - method: POST
        name: postcreatestoredcredentialprofile
        description: Create a stored credential profile
        call: v1-payment-methods.postcreatestoredcredentialprofile
        with:
          payment-method-id: rest.payment-method-id
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getstoredcredentialprofiles
        description: List stored credential profiles of a payment method
        call: v1-payment-methods.getstoredcredentialprofiles
        with:
          payment-method-id: rest.payment-method-id
          includeAll: rest.includeAll
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods/{payment-method-id}/profiles/{profile-number}/cancel
      name: v1-payment-methods-payment-method-id-profiles-profile-number-cancel
      description: REST surface for v1-payment-methods-payment-method-id-profiles-profile-number-cancel.
      operations:
      - method: POST
        name: postcancelstoredcredentialprofile
        description: Cancel a stored credential profile
        call: v1-payment-methods.postcancelstoredcredentialprofile
        with:
          payment-method-id: rest.payment-method-id
          profile-number: rest.profile-number
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods/{payment-method-id}/profiles/{profile-number}/expire
      name: v1-payment-methods-payment-method-id-profiles-profile-number-expire
      description: REST surface for v1-payment-methods-payment-method-id-profiles-profile-number-expire.
      operations:
      - method: POST
        name: postexpirestoredcredentialprofile
        description: Expire a stored credential profile
        call: v1-payment-methods.postexpirestoredcredentialprofile
        with:
          payment-method-id: rest.payment-method-id
          profile-number: rest.profile-number
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods/{payment-method-id}/scrub
      name: v1-payment-methods-payment-method-id-scrub
      description: REST surface for v1-payment-methods-payment-method-id-scrub.
      operations:
      - method: PUT
        name: putscrubpaymentmethods
        description: Scrub a payment method
        call: v1-payment-methods.putscrubpaymentmethods
        with:
          payment-method-id: rest.payment-method-id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-methods/{payment-method-id}/verify
      name: v1-payment-methods-payment-method-id-verify
      description: REST surface for v1-payment-methods-payment-method-id-verify.
      operations:
      - method: PUT
        name: putverifypaymentmethods
        description: Verify a payment method
        call: v1-payment-methods.putverifypaymentmethods
        with:
          payment-method-id: rest.payment-method-id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/web-payments/sessions
      name: web-payments-sessions
      description: REST surface for web-payments-sessions.
      operations:
      - method: POST
        name: postcreatepaymentsession
        description: Create a payment session
        call: v1-payment-methods.postcreatepaymentsession
        with:
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v1-payment-methods-mcp
    port: 9090
    transport: http
    description: MCP adapter for API Reference — Payment Methods. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: register-apple-pay-domain
      description: Register an Apple Pay domain
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-payment-methods.postregisterapplepaydomain
      with:
        Request: tools.Request
      outputParameters:
      - type: object
        mapping: $.
    - name: list-registered-apple-pay-domains
      description: List registered Apple Pay domains
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-payment-methods.getlistapplepaydomains
      with:
        domainName: tools.domainName
      outputParameters:
      - type: object
        mapping: $.
    - name: unregister-apple-pay-domain
      description: Unregister an Apple Pay domain
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: v1-payment-methods.deleteunregisterapplepaydomain
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-payment-method
      description: Create a payment method
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-payment-methods.postpaymentmethods
      with:
        Request: tools.Request
      outputParameters:
      - type: object
        mapping: $.
    - name: create-apple-pay-payment-method
      description: Create an Apple Pay payment method
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-payment-methods.postpaymentmethodsdecryption
      with:
        Request: tools.Request
      outputParameters:
      - type: object
        mapping: $.
    - name: update-payment-method
      description: Update a payment method
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-payment-methods.putpaymentmethod
      with:
        payment-method-id: tools.payment-method-id
        Request: tools.Request
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-payment-method
      description: Retrieve a payment method
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-payment-methods.getpaymentmethod
      with:
        payment-method-id: tools.payment-method-id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-payment-method
      description: Delete a payment method
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: v1-payment-methods.deletepaymentmethods
      with:
        payment-method-id: tools.payment-method-id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-stored-credential-profile
      description: Create a stored credential profile
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-payment-methods.postcreatestoredcredentialprofile
      with:
        payment-method-id: tools.payment-method-id
        Request: tools.Request
      outputParameters:
      - type: object
        mapping: $.
    - name: list-stored-credential-profiles-payment
      description: List stored credential profiles of a payment method
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-payment-methods.getstoredcredentialprofiles
      with:
        payment-method-id: tools.payment-method-id
        includeAll: tools.includeAll
      outputParameters:
      - type: object
        mapping: $.
    - name: cancel-stored-credential-profile
      description: Cancel a stored credential profile
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-payment-methods.postcancelstoredcredentialprofile
      with:
        payment-method-id: tools.payment-method-id
        profile-number: tools.profile-number
      outputParameters:
      - type: object
        mapping: $.
    - name: expire-stored-credential-profile
      description: Expire a stored credential profile
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-payment-methods.postexpirestoredcredentialprofile
      with:
        payment-method-id: tools.payment-method-id
        profile-number: tools.profile-number
      outputParameters:
      - type: object
        mapping: $.
    - name: scrub-payment-method
      description: Scrub a payment method
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-payment-methods.putscrubpaymentmethods
      with:
        payment-method-id: tools.payment-method-id
      outputParameters:
      - type: object
        mapping: $.
    - name: verify-payment-method
      description: Verify a payment method
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-payment-methods.putverifypaymentmethods
      with:
        payment-method-id: tools.payment-method-id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-payment-session
      description: Create a payment session
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-payment-methods.postcreatepaymentsession
      with:
        Request: tools.Request
      outputParameters:
      - type: object
        mapping: $.