whmcs_get_transactions
Retrieve payment transaction records from WHMCS, filtering by invoice, client, or transaction ID to track financial activity.
Instructions
Get payment transactions
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| invoiceid | No | Filter by invoice ID | |
| clientid | No | Filter by client ID | |
| transid | No | Filter by transaction ID |
Implementation Reference
- src/whmcs-client.ts:581-606 (handler)Core handler method that executes the WHMCS 'GetTransactions' API call to retrieve payment transactions with optional filters.async getTransactions(params: { invoiceid?: number; clientid?: number; transid?: string; } = {}) { return this.call<WhmcsApiResponse & { totalresults: number; startnumber: number; numreturned: number; transactions: { transaction: Array<{ id: number; userid: number; currency: number; gateway: string; date: string; description: string; amountin: string; amountout: string; rate: string; transid: string; invoiceid: number; refundid: number; }> }; }>('GetTransactions', params); }
- src/index.ts:392-408 (registration)Registers the 'whmcs_get_transactions' tool in the MCP server, defining its schema and wrapper handler that delegates to WhmcsApiClient.getTransactions.'whmcs_get_transactions', { title: 'Get Transactions', description: 'Get payment transactions', inputSchema: { invoiceid: z.number().optional().describe('Filter by invoice ID'), clientid: z.number().optional().describe('Filter by client ID'), transid: z.string().optional().describe('Filter by transaction ID'), }, }, async (params) => { const result = await whmcsClient.getTransactions(params); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }], }; } );
- src/index.ts:397-401 (schema)Zod input schema defining optional parameters for filtering transactions by invoice ID, client ID, or transaction ID.invoiceid: z.number().optional().describe('Filter by invoice ID'), clientid: z.number().optional().describe('Filter by client ID'), transid: z.string().optional().describe('Filter by transaction ID'), }, },