UNPKG

@phqb/mcp-server

Version:

PHQB MCP Payment Server - AI-powered payment processing for Claude and other AI assistants

105 lines 4.31 kB
"use strict"; // MCP 服务器类型定义 Object.defineProperty(exports, "__esModule", { value: true }); exports.RateLimitError = exports.ValidationError = exports.PermissionError = exports.AuthenticationError = exports.MCPError = exports.MCP_TOOL_PERMISSIONS = exports.RefundHistorySchema = exports.RefundStatusSchema = exports.CreateRefundSchema = exports.CancelOrderSchema = exports.RecentOrdersSchema = exports.SearchOrdersSchema = exports.OrderDetailsSchema = exports.CreatePaymentSchema = void 0; const zod_1 = require("zod"); // 支付创建参数 exports.CreatePaymentSchema = zod_1.z.object({ amount: zod_1.z.number().positive(), description: zod_1.z.string().min(1), payment_method: zod_1.z.enum(['wechat', 'alipay', 'auto']).optional().default('auto'), customer_email: zod_1.z.string().email().optional(), expires_in: zod_1.z.number().positive().optional().default(3600), success_url: zod_1.z.string().url().optional() }); // 订单查询参数 exports.OrderDetailsSchema = zod_1.z.object({ order_id: zod_1.z.string().min(1) }); // 订单搜索参数 exports.SearchOrdersSchema = zod_1.z.object({ status: zod_1.z.enum(['all', 'pending', 'paid', 'failed', 'expired', 'refunded']).optional().default('all'), amount_min: zod_1.z.number().positive().optional(), amount_max: zod_1.z.number().positive().optional(), date_from: zod_1.z.string().optional(), // YYYY-MM-DD date_to: zod_1.z.string().optional(), // YYYY-MM-DD customer_email: zod_1.z.string().email().optional(), limit: zod_1.z.number().min(1).max(100).optional().default(20) }); // 最近订单参数 exports.RecentOrdersSchema = zod_1.z.object({ limit: zod_1.z.number().min(1).max(100).optional().default(10), status: zod_1.z.enum(['all', 'pending', 'paid', 'failed']).optional().default('all') }); // 取消订单参数 exports.CancelOrderSchema = zod_1.z.object({ order_id: zod_1.z.string().min(1), reason: zod_1.z.string().optional() }); // 创建退款参数 exports.CreateRefundSchema = zod_1.z.object({ order_id: zod_1.z.string().min(1), amount: zod_1.z.number().positive().optional(), reason: zod_1.z.string().min(1) }); // 退款状态参数 exports.RefundStatusSchema = zod_1.z.object({ refund_id: zod_1.z.string().min(1) }); // 退款历史参数 exports.RefundHistorySchema = zod_1.z.object({ limit: zod_1.z.number().min(1).max(100).optional().default(20), status: zod_1.z.enum(['all', 'processing', 'completed', 'failed']).optional().default('all') }); // MCP 工具权限映射 exports.MCP_TOOL_PERMISSIONS = { // 支付创建工具组 'create_wechat_payment': ['mcp:payment:create'], 'create_alipay_payment': ['mcp:payment:create'], 'create_auto_payment': ['mcp:payment:create'], // 订单查询工具组 'get_order_details': ['mcp:payment:query'], 'search_orders': ['mcp:payment:query', 'mcp:history:read'], 'get_recent_orders': ['mcp:payment:query'], // 订单管理工具组 'cancel_order': ['mcp:order:manage'], // 退款工具组 'create_refund': ['mcp:refund:create'], 'get_refund_status': ['mcp:refund:query'], 'get_refund_history': ['mcp:refund:query', 'mcp:history:read'], }; // 错误类型 class MCPError extends Error { constructor(message, code = 'UNKNOWN_ERROR', statusCode = 500) { super(message); this.code = code; this.statusCode = statusCode; this.name = 'MCPError'; } } exports.MCPError = MCPError; class AuthenticationError extends MCPError { constructor(message = 'Authentication failed') { super(message, 'AUTH_ERROR', 401); } } exports.AuthenticationError = AuthenticationError; class PermissionError extends MCPError { constructor(message = 'Insufficient permissions') { super(message, 'PERMISSION_ERROR', 403); } } exports.PermissionError = PermissionError; class ValidationError extends MCPError { constructor(message = 'Invalid input parameters') { super(message, 'VALIDATION_ERROR', 400); } } exports.ValidationError = ValidationError; class RateLimitError extends MCPError { constructor(message = 'Rate limit exceeded') { super(message, 'RATE_LIMIT_ERROR', 429); } } exports.RateLimitError = RateLimitError; //# sourceMappingURL=types.js.map