Zuora · Capability
API Reference — Payments
API Reference — Payments. 15 operations. Lead operation: Create a payment. Self-contained Naftiko capability covering one Zuora business surface.
What You Can Do
POST
Postcreatepayment
— Create a payment
/v1/v1/payments
GET
Getretrieveallpayments
— List payments
/v1/v1/payments
PUT
Putupdatepayment
— Update a payment
/v1/v1/payments/{paymentid}
GET
Getpayment
— Retrieve a payment
/v1/v1/payments/{paymentkey}
DELETE
Deletepayment
— Delete a payment
/v1/v1/payments/{paymentkey}
PUT
Putapplypayment
— Apply a payment
/v1/v1/payments/{paymentkey}/apply
PUT
Putcancelpayment
— Cancel a payment
/v1/v1/payments/{paymentkey}/cancel
GET
Getpaymentparts
— List all parts of a payment
/v1/v1/payments/{paymentkey}/parts
GET
Getpaymentpart
— Retrieve a payment part
/v1/v1/payments/{paymentkey}/parts/{partid}
GET
Getpaymentitemparts
— List all payment part items
/v1/v1/payments/{paymentkey}/parts/{partid}/itemparts
GET
Getpaymentitempart
— Retrieve a payment part item
/v1/v1/payments/{paymentkey}/parts/{partid}/itemparts/{itempartid}
POST
Postrefundpayment
— Refund a payment
/v1/v1/payments/{paymentkey}/refunds
POST
Postrefundpaymentwithautounapply
— Refund a payment with auto-unapplying
/v1/v1/payments/{paymentkey}/refunds/unapply
PUT
Puttransferpayment
— Transfer a payment
/v1/v1/payments/{paymentkey}/transfer
PUT
Putunapplypayment
— Unapply a payment
/v1/v1/payments/{paymentkey}/unapply
MCP Tools
create-payment
Create a payment
list-payments
List payments
read-only
idempotent
update-payment
Update a payment
idempotent
retrieve-payment
Retrieve a payment
read-only
idempotent
delete-payment
Delete a payment
idempotent
apply-payment
Apply a payment
idempotent
cancel-payment
Cancel a payment
idempotent
list-all-parts-payment
List all parts of a payment
read-only
idempotent
retrieve-payment-part
Retrieve a payment part
read-only
idempotent
list-all-payment-part-items
List all payment part items
read-only
idempotent
retrieve-payment-part-item
Retrieve a payment part item
read-only
idempotent
refund-payment
Refund a payment
refund-payment-auto-unapplying
Refund a payment with auto-unapplying
transfer-payment
Transfer a payment
idempotent
unapply-payment
Unapply a payment
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: API Reference — Payments
description: 'API Reference — Payments. 15 operations. Lead operation: Create a payment. Self-contained Naftiko capability
covering one Zuora business surface.'
tags:
- Zuora
- Payments
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
ZUORA_API_KEY: ZUORA_API_KEY
capability:
consumes:
- type: http
namespace: v1-payments
baseUri: https://rest.zuora.com
description: API Reference — Payments business capability. Self-contained, no shared references.
resources:
- name: v1-payments
path: /v1/payments
operations:
- name: postcreatepayment
method: POST
description: Create a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: getretrieveallpayments
method: GET
description: List payments
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: query
type: string
description: This parameter filters the response based on the `accountId` field.
- name: amount
in: query
type: number
description: This parameter filters the response based on the `amount` field.
- name: appliedAmount
in: query
type: number
description: This parameter filters the response based on the `appliedAmount` field.
- name: createdById
in: query
type: string
description: This parameter filters the response based on the `createdById` field.
- name: createdDate
in: query
type: string
description: This parameter filters the response based on the `createdDate` field.
- name: creditBalanceAmount
in: query
type: number
description: This parameter filters the response based on the `creditBalanceAmount` field.
- name: currency
in: query
type: string
description: This parameter filters the response based on the `currency` field.
- name: effectiveDate
in: query
type: string
description: This parameter filters the response based on the `effectiveDate` field.
- name: number
in: query
type: string
description: This parameter filters the response based on the `number` field.
- name: refundAmount
in: query
type: number
description: This parameter filters the response based on the `refundAmount` field.
- name: status
in: query
type: string
description: This parameter filters the response based on the `status` field.
- name: type
in: query
type: string
description: This parameter filters the response based on the `type` field.
- name: unappliedAmount
in: query
type: number
description: This parameter filters the response based on the `unappliedAmount` field.
- name: updatedById
in: query
type: string
description: This parameter filters the response based on the `updatedById` field.
- name: updatedDate
in: query
type: string
description: This parameter filters the response based on the `updatedDate` field.
- name: sort
in: query
type: string
description: This parameter restricts the order of the data returned in the response. You can use this parameter
to supply a dimension you want to sort on.
- name: v1-payments-paymentId
path: /v1/payments/{paymentId}
operations:
- name: putupdatepayment
method: PUT
description: Update a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: paymentId
in: path
type: string
description: The unique ID of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`.
required: true
- name: v1-payments-paymentKey
path: /v1/payments/{paymentKey}
operations:
- name: getpayment
method: GET
description: Retrieve a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: deletepayment
method: DELETE
description: Delete a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-apply
path: /v1/payments/{paymentKey}/apply
operations:
- name: putapplypayment
method: PUT
description: Apply a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-cancel
path: /v1/payments/{paymentKey}/cancel
operations:
- name: putcancelpayment
method: PUT
description: Cancel a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-parts
path: /v1/payments/{paymentKey}/parts
operations:
- name: getpaymentparts
method: GET
description: List all parts of a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-parts-partid
path: /v1/payments/{paymentKey}/parts/{partid}
operations:
- name: getpaymentpart
method: GET
description: Retrieve a payment part
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: partid
in: path
type: string
description: The unique ID of a specific payment part. You can get the payment part ID from the response of [List
all parts of a payment](/api-references/api/operation/GET_P
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-parts-partid-itemparts
path: /v1/payments/{paymentKey}/parts/{partid}/itemparts
operations:
- name: getpaymentitemparts
method: GET
description: List all payment part items
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: partid
in: path
type: string
description: The unique ID of a specific payment part. You can get the payment part ID from the response of [List
all parts of a payment](/api-references/api/operation/GET_P
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-parts-partid-itemparts-itempartid
path: /v1/payments/{paymentKey}/parts/{partid}/itemparts/{itempartid}
operations:
- name: getpaymentitempart
method: GET
description: Retrieve a payment part item
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: partid
in: path
type: string
description: The unique ID of a specific payment part. You can get the payment part ID from the response of [List
all parts of a payment](/api-references/api/operation/GET_P
required: true
- name: itempartid
in: path
type: string
description: The unique ID of a specific payment part item. You can get the payment part item ID from the response
of [List all payment part items](/api-references/api/opera
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-refunds
path: /v1/payments/{paymentKey}/refunds
operations:
- name: postrefundpayment
method: POST
description: Refund a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-refunds-unapply
path: /v1/payments/{paymentKey}/refunds/unapply
operations:
- name: postrefundpaymentwithautounapply
method: POST
description: Refund a payment with auto-unapplying
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-transfer
path: /v1/payments/{paymentKey}/transfer
operations:
- name: puttransferpayment
method: PUT
description: Transfer a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
- name: v1-payments-paymentKey-unapply
path: /v1/payments/{paymentKey}/unapply
operations:
- name: putunapplypayment
method: PUT
description: Unapply a payment
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: paymentKey
in: path
type: string
description: The unique ID or number of an unapplied payment. For example, `8a8082e65b27f6c3015b89e4344c16b1`, or
`P-00000001`.
required: true
exposes:
- type: rest
namespace: v1-payments-rest
port: 8080
description: REST adapter for API Reference — Payments. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/payments
name: v1-payments
description: REST surface for v1-payments.
operations:
- method: POST
name: postcreatepayment
description: Create a payment
call: v1-payments.postcreatepayment
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: getretrieveallpayments
description: List payments
call: v1-payments.getretrieveallpayments
with:
accountId: rest.accountId
amount: rest.amount
appliedAmount: rest.appliedAmount
createdById: rest.createdById
createdDate: rest.createdDate
creditBalanceAmount: rest.creditBalanceAmount
currency: rest.currency
effectiveDate: rest.effectiveDate
number: rest.number
refundAmount: rest.refundAmount
status: rest.status
type: rest.type
unappliedAmount: rest.unappliedAmount
updatedById: rest.updatedById
updatedDate: rest.updatedDate
sort: rest.sort
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentid}
name: v1-payments-paymentid
description: REST surface for v1-payments-paymentId.
operations:
- method: PUT
name: putupdatepayment
description: Update a payment
call: v1-payments.putupdatepayment
with:
body: rest.body
paymentId: rest.paymentId
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}
name: v1-payments-paymentkey
description: REST surface for v1-payments-paymentKey.
operations:
- method: GET
name: getpayment
description: Retrieve a payment
call: v1-payments.getpayment
with:
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletepayment
description: Delete a payment
call: v1-payments.deletepayment
with:
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/apply
name: v1-payments-paymentkey-apply
description: REST surface for v1-payments-paymentKey-apply.
operations:
- method: PUT
name: putapplypayment
description: Apply a payment
call: v1-payments.putapplypayment
with:
body: rest.body
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/cancel
name: v1-payments-paymentkey-cancel
description: REST surface for v1-payments-paymentKey-cancel.
operations:
- method: PUT
name: putcancelpayment
description: Cancel a payment
call: v1-payments.putcancelpayment
with:
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/parts
name: v1-payments-paymentkey-parts
description: REST surface for v1-payments-paymentKey-parts.
operations:
- method: GET
name: getpaymentparts
description: List all parts of a payment
call: v1-payments.getpaymentparts
with:
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/parts/{partid}
name: v1-payments-paymentkey-parts-partid
description: REST surface for v1-payments-paymentKey-parts-partid.
operations:
- method: GET
name: getpaymentpart
description: Retrieve a payment part
call: v1-payments.getpaymentpart
with:
partid: rest.partid
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/parts/{partid}/itemparts
name: v1-payments-paymentkey-parts-partid-itemparts
description: REST surface for v1-payments-paymentKey-parts-partid-itemparts.
operations:
- method: GET
name: getpaymentitemparts
description: List all payment part items
call: v1-payments.getpaymentitemparts
with:
partid: rest.partid
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/parts/{partid}/itemparts/{itempartid}
name: v1-payments-paymentkey-parts-partid-itemparts-itempartid
description: REST surface for v1-payments-paymentKey-parts-partid-itemparts-itempartid.
operations:
- method: GET
name: getpaymentitempart
description: Retrieve a payment part item
call: v1-payments.getpaymentitempart
with:
partid: rest.partid
itempartid: rest.itempartid
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/refunds
name: v1-payments-paymentkey-refunds
description: REST surface for v1-payments-paymentKey-refunds.
operations:
- method: POST
name: postrefundpayment
description: Refund a payment
call: v1-payments.postrefundpayment
with:
body: rest.body
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/refunds/unapply
name: v1-payments-paymentkey-refunds-unapply
description: REST surface for v1-payments-paymentKey-refunds-unapply.
operations:
- method: POST
name: postrefundpaymentwithautounapply
description: Refund a payment with auto-unapplying
call: v1-payments.postrefundpaymentwithautounapply
with:
body: rest.body
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/transfer
name: v1-payments-paymentkey-transfer
description: REST surface for v1-payments-paymentKey-transfer.
operations:
- method: PUT
name: puttransferpayment
description: Transfer a payment
call: v1-payments.puttransferpayment
with:
body: rest.body
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/payments/{paymentkey}/unapply
name: v1-payments-paymentkey-unapply
description: REST surface for v1-payments-paymentKey-unapply.
operations:
- method: PUT
name: putunapplypayment
description: Unapply a payment
call: v1-payments.putunapplypayment
with:
body: rest.body
paymentKey: rest.paymentKey
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: v1-payments-mcp
port: 9090
transport: http
description: MCP adapter for API Reference — Payments. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: create-payment
description: Create a payment
hints:
readOnly: false
destructive: false
idempotent: false
call: v1-payments.postcreatepayment
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-payments
description: List payments
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-payments.getretrieveallpayments
with:
accountId: tools.accountId
amount: tools.amount
appliedAmount: tools.appliedAmount
createdById: tools.createdById
createdDate: tools.createdDate
creditBalanceAmount: tools.creditBalanceAmount
currency: tools.currency
effectiveDate: tools.effectiveDate
number: tools.number
refundAmount: tools.refundAmount
status: tools.status
type: tools.type
unappliedAmount: tools.unappliedAmount
updatedById: tools.updatedById
updatedDate: tools.updatedDate
sort: tools.sort
outputParameters:
- type: object
mapping: $.
- name: update-payment
description: Update a payment
hints:
readOnly: false
destructive: false
idempotent: true
call: v1-payments.putupdatepayment
with:
body: tools.body
paymentId: tools.paymentId
outputParameters:
- type: object
mapping: $.
- name: retrieve-payment
description: Retrieve a payment
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-payments.getpayment
with:
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: delete-payment
description: Delete a payment
hints:
readOnly: false
destructive: true
idempotent: true
call: v1-payments.deletepayment
with:
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: apply-payment
description: Apply a payment
hints:
readOnly: false
destructive: false
idempotent: true
call: v1-payments.putapplypayment
with:
body: tools.body
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: cancel-payment
description: Cancel a payment
hints:
readOnly: false
destructive: false
idempotent: true
call: v1-payments.putcancelpayment
with:
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: list-all-parts-payment
description: List all parts of a payment
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-payments.getpaymentparts
with:
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: retrieve-payment-part
description: Retrieve a payment part
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-payments.getpaymentpart
with:
partid: tools.partid
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: list-all-payment-part-items
description: List all payment part items
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-payments.getpaymentitemparts
with:
partid: tools.partid
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: retrieve-payment-part-item
description: Retrieve a payment part item
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-payments.getpaymentitempart
with:
partid: tools.partid
itempartid: tools.itempartid
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: refund-payment
description: Refund a payment
hints:
readOnly: false
destructive: false
idempotent: false
call: v1-payments.postrefundpayment
with:
body: tools.body
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: refund-payment-auto-unapplying
description: Refund a payment with auto-unapplying
hints:
readOnly: false
destructive: false
idempotent: false
call: v1-payments.postrefundpaymentwithautounapply
with:
body: tools.body
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: transfer-payment
description: Transfer a payment
hints:
readOnly: false
destructive: false
idempotent: true
call: v1-payments.puttransferpayment
with:
body: tools.body
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.
- name: unapply-payment
description: Unapply a payment
hints:
readOnly: false
destructive: false
idempotent: true
call: v1-payments.putunapplypayment
with:
body: tools.body
paymentKey: tools.paymentKey
outputParameters:
- type: object
mapping: $.