get_transaction
Retrieve detailed transaction information from the Bayarcash payment gateway using a transaction ID to verify payments and monitor financial activity.
Instructions
Get transaction details by transaction ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| transaction_id | Yes | Transaction ID to retrieve |
Implementation Reference
- src/index.ts:260-276 (handler)Primary MCP tool handler for 'get_transaction': validates input using transactionIdSchema, calls bayarcash.getTransaction, and returns JSON responsecase 'get_transaction': { // Validate input const validation = validateInput(transactionIdSchema, args); if (!validation.success) { throw new McpError(ErrorCode.InvalidParams, `Validation error: ${validation.error}`); } const result = await bayarcash.getTransaction(validation.data.transaction_id); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2) } ] }; }
- src/validation.ts:81-83 (schema)Zod schema used for validating get_transaction input (transaction_id)export const transactionIdSchema = z.object({ transaction_id: z.string().min(1, 'Transaction ID is required') });
- src/index.ts:116-129 (registration)Tool registration in ListToolsResponse including name, description, and input schema{ name: 'get_transaction', description: 'Get transaction details by transaction ID', inputSchema: { type: 'object', properties: { transaction_id: { type: 'string', description: 'Transaction ID to retrieve' } }, required: ['transaction_id'] } },
- src/smithery.ts:75-87 (handler)Alternative MCP tool handler/registration using Smithery API (includes inline schema and handler)server.tool( 'get_transaction', 'Get transaction details by transaction ID', { transaction_id: z.string().describe('Transaction ID to retrieve') }, async ({ transaction_id }) => { const result = await bayarcash.getTransaction(transaction_id); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } );
- src/bayarcash-client.ts:290-297 (helper)Core helper method BayarcashClient.getTransaction that performs the actual API call to retrieve transaction detailsasync getTransaction(transactionId: string): Promise<Transaction> { try { const response = await this.axiosInstance.get(`/transactions/${transactionId}`); return response.data.data || response.data; } catch (error) { this.handleError(error); } }