get_transaction
Retrieve detailed transaction information using a transaction ID to verify payments, track status, and manage payment records within the Bayarcash MCP Server.
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 with transactionIdSchema, calls BayarcashClient.getTransaction, and returns JSON response.case '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/smithery.ts:75-87 (handler)Alternative MCP tool handler for 'get_transaction' using Smithery framework: defines schema inline with Zod and handler function.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/validation.ts:80-84 (schema)Zod schema for validating get_transaction input: requires transaction_id string.// Transaction ID schema export const transactionIdSchema = z.object({ transaction_id: z.string().min(1, 'Transaction ID is required') });
- src/bayarcash-client.ts:290-297 (helper)Core BayarcashClient method implementing the API call to fetch transaction by ID.async 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); } }
- src/index.ts:116-129 (registration)Tool registration metadata in ListToolsRequestHandler, 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'] } },