get_transaction_by_order
Retrieve transaction details using an order number to verify payment status and access specific payment information within the Bayarcash payment system.
Instructions
Get transaction details by order number
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| order_number | Yes | Order number to retrieve |
Implementation Reference
- src/index.ts:278-294 (handler)MCP tool handler for 'get_transaction_by_order': validates input schema, calls BayarcashClient.getTransactionByOrderNumber, and returns JSON response.case 'get_transaction_by_order': { // Validate input const validation = validateInput(orderNumberSchema, args); if (!validation.success) { throw new McpError(ErrorCode.InvalidParams, `Validation error: ${validation.error}`); } const result = await bayarcash.getTransactionByOrderNumber(validation.data.order_number); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2) } ] }; }
- src/index.ts:130-142 (registration)Tool registration in ListTools handler, including name, description, and input schema for 'get_transaction_by_order'.{ name: 'get_transaction_by_order', description: 'Get transaction details by order number', inputSchema: { type: 'object', properties: { order_number: { type: 'string', description: 'Order number to retrieve' } }, required: ['order_number'] }
- src/validation.ts:86-88 (schema)Zod schema for validating order_number input used in get_transaction_by_order handler.export const orderNumberSchema = z.object({ order_number: z.string().min(1, 'Order number is required') });
- src/smithery.ts:89-101 (handler)Smithery-style MCP tool definition including schema, handler for 'get_transaction_by_order'.// Tool: Get transaction by order server.tool( 'get_transaction_by_order', 'Get transaction details by order number', { order_number: z.string().describe('Order number to retrieve') }, async ({ order_number }) => { const result = await bayarcash.getTransactionByOrderNumber(order_number); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; }
- src/bayarcash-client.ts:323-330 (helper)Core API client method that performs HTTP GET to retrieve transaction by order number from Bayarcash API.async getTransactionByOrderNumber(orderNumber: string): Promise<Transaction> { try { const response = await this.axiosInstance.get(`/transactions/order/${orderNumber}`); return response.data.data || response.data; } catch (error) { this.handleError(error); } }