create-test-rails-payee
Generate a new payee using TEST_RAILS payment type. Specify the payee name and optional tags to streamline payment testing and tracking within the Payman AI MCP Server.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the payee | |
| tags | No | Optional tags for the payee | |
| type | No | Type of payment rails to use | TEST_RAILS |
Implementation Reference
- payman-server.ts:50-114 (handler)Handler function that creates a TEST_RAILS payee by making a POST request to the Payman API, checks for API key, handles errors, and returns success or error messages.async ({ name, type, tags = [] }) => { if (!paymanApiKey) { return { content: [ { type: "text", text: "API key has not been set. Please use the set-api-key tool first.", }, ], isError: true, }; } try { const response = await fetch( "https://agent.payman.ai/api/payments/payees", { method: "POST", headers: { "x-payman-api-secret": paymanApiKey, "Content-Type": "application/json", }, body: JSON.stringify({ type, name, tags }), } ); const data = await response.json(); if (!response.ok) { return { content: [ { type: "text", text: `Error creating payee: ${JSON.stringify(data)}`, }, ], isError: true, }; } return { content: [ { type: "text", text: `TEST_RAILS payee created successfully: ${JSON.stringify( data )}`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Failed to create payee: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } } );
- payman-server.ts:40-49 (schema)Zod schema defining input parameters: name (string), type (literal 'TEST_RAILS' with default), tags (optional array of strings).name: z.string().describe("Name of the payee"), type: z .literal("TEST_RAILS") .default("TEST_RAILS") .describe("Type of payment rails to use"), tags: z .array(z.string()) .optional() .describe("Optional tags for the payee"), },
- payman-server.ts:38-114 (registration)MCP server tool registration for 'create-test-rails-payee' with input schema and inline handler function."create-test-rails-payee", { name: z.string().describe("Name of the payee"), type: z .literal("TEST_RAILS") .default("TEST_RAILS") .describe("Type of payment rails to use"), tags: z .array(z.string()) .optional() .describe("Optional tags for the payee"), }, async ({ name, type, tags = [] }) => { if (!paymanApiKey) { return { content: [ { type: "text", text: "API key has not been set. Please use the set-api-key tool first.", }, ], isError: true, }; } try { const response = await fetch( "https://agent.payman.ai/api/payments/payees", { method: "POST", headers: { "x-payman-api-secret": paymanApiKey, "Content-Type": "application/json", }, body: JSON.stringify({ type, name, tags }), } ); const data = await response.json(); if (!response.ok) { return { content: [ { type: "text", text: `Error creating payee: ${JSON.stringify(data)}`, }, ], isError: true, }; } return { content: [ { type: "text", text: `TEST_RAILS payee created successfully: ${JSON.stringify( data )}`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Failed to create payee: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } } );