void_transaction
Void a transaction before settlement to cancel it. Use refund for settled transactions.
Instructions
Void a transaction. POST /transactions/{transactionId}/void. Only works before settlement; after settlement use refund_transaction instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| transactionId | Yes | Transaction ID (required). Void only works before settlement; after settlement use refund_transaction. |
Implementation Reference
- Handler function that validates the transactionId input and calls transactionService.voidTransaction to POST to /transactions/{transactionId}/void.
async function handler(client: Client, args: Record<string, unknown> | undefined) { const parsed = schema.safeParse(args); if (!parsed.success) { return errorResult(parsed.error.errors.map((e) => e.message).join("; ")); } return handleToolCall(() => transactionService.voidTransaction(client, parsed.data.transactionId) ); } - Zod schema defining the input: a required transactionId string.
const schema = z.object({ transactionId: z.string().min(1, "transactionId is required"), }); - src/tools/transactions/index.ts:12-19 (registration)Registration function that includes voidTransactionTool in the list of transaction tools.
export function registerTransactionTools(): Tool[] { return [ listTransactionsTool, getTransactionTool, refundTransactionTool, voidTransactionTool, ]; } - src/tools/transactions/voidTransaction.ts:38-41 (registration)Exports the Tool object with the definition (name, description, inputSchema) and handler.
export const voidTransactionTool: Tool = { definition, handler, }; - Service function that makes the HTTP POST call to /transactions/{transactionId}/void.
export async function voidTransaction( client: Client, transactionId: string ): Promise<unknown> { return client.post<unknown>(`/transactions/${transactionId}/void`, {}); }