使用说明
Paystack MCP服务器
用于Paystack支付处理的模型上下文协议(MCP)服务器。该服务器为人工智能助手提供了通过标准化工具与Paystack支付API交互的能力。
特性
🚀 支付操作
- 初始化交易
- 验证付款状态
- 列出交易历史记录
- 处理退款
👥 客户管理
- 创建和管理客户
- 列出客户
- 更新客户信息
📋 订阅计划
- 创建订阅计划
- 列出并管理计划
🏦 银行业一体化
- 列出支持的银行
- 验证银行账户详细信息
安装
- 克隆存储库:
git clone <your-repo-url>
cd paystack-mcp
- 安装依赖项:
pip install -r requirements.txt
- 设置环境变量:
cp example.env .env
# Edit .env with your Paystack credentials
所需的环境变量:
PAYSTACK_SECRET_KEY:您的Paystack密钥(必填)PAYSTACK_PUBLIC_KEY:您的Paystack公钥(可选)PAYSTACK_ENVIRONMENT:设置为“测试”或“实时”(默认值:“测试”)
用法
运行服务器
MCP服务器可以直接运行:
python -m paystack_mcp.server
或者使用已安装的脚本:
paystack-mcp
JavaScript客户端集成
这个Python MCP服务器可以很容易地与JavaScript客户端集成。这里有一个例子:
// Using the MCP client in Node.js
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
// Create transport to the Python server
const transport = new StdioClientTransport({
command: "python",
args: ["-m", "paystack_mcp.server"]
});
// Create and connect client
const client = new Client(
{
name: "paystack-client",
version: "1.0.0",
},
{
capabilities: {},
}
);
await client.connect(transport);
// Use Paystack tools
const result = await client.callTool({
name: "initialize_transaction",
arguments: {
email: "customer@example.com",
amount: 50000, // 500 NGN in kobo
currency: "NGN"
}
});
console.log(result);
可用工具
事务管理
initialize_transaction
创建新的支付交易。
参数:
email(字符串,必填):客户电子邮件amount(整数,必填):金额单位为kobo/centscurrency(字符串,可选):货币代码(默认:“NGN”)reference(字符串,可选):唯一交易参考callback_url(字符串,可选):付款后的回调URLmetadata(对象,可选):其他交易数据
verify_transaction
通过引用验证交易。
参数:
reference(字符串,必填):要验证的交易引用
list_transactions
列出具有可选筛选器的交易。
参数:
per_page(整数,可选):每页结果数(默认值:50)page(整数,可选):页码(默认值:1)customer(字符串,可选):按客户ID筛选status(字符串,可选):按交易状态筛选from_date(字符串,可选):开始日期(YYYY-MM-DD)to_date(字符串,可选):结束日期(YYYY-MM-DD)
客户管理
create_customer
创建新客户。
参数:
email(字符串,必填):客户电子邮件first_name(字符串,可选):客户名字last_name(字符串,可选):客户姓氏phone(字符串,可选):客户电话号码metadata(对象,可选):其他客户数据
list_customers
列出客户。
参数:
per_page(整数,可选):每页结果数(默认值:50)page(整数,可选):页码(默认值:1)
订阅计划
create_plan
创建订阅计划。
参数:
name(字符串,必填):计划名称amount(整数,必填):计划金额,单位为kobo/centsinterval(字符串,必填):计费间隔(每日、每周、每月、每季度、每两年、每年)description(字符串,可选):计划描述currency(字符串,可选):货币代码(默认:“NGN”)
list_plans
列出订阅计划。
参数:
per_page(整数,可选):每页结果数(默认值:50)page(整数,可选):页码(默认值:1)
银行业
list_banks
列出支持的银行。
参数:
country(字符串,可选):获取银行的国家(默认值:“尼日利亚”)
resolve_account
解决并验证银行账户详细信息。
参数:
account_number(字符串,必填):要验证的帐号bank_code(字符串,必填):银行代码
退款
create_refund
为交易创建退款。
参数:
transaction(字符串,必填):交易ID或引用amount(整数,可选):退款金额,单位为kobo/cents(如果未指定,则为全额)currency(字符串,可选):货币代码customer_note(字符串,可选):客户注意事项merchant_note(字符串,可选):内部商户备注
发展
测试
使用pytest运行测试:
pytest tests/
运行覆盖率测试:
pytest tests/ --cov=paystack_mcp
代码质量
格式代码:
black paystack_mcp/
棉绒编码:
ruff check paystack_mcp/
类型检查:
mypy paystack_mcp/
项目结构
paystack-mcp/
├── paystack_mcp/ # Main package
│ ├── __init__.py # Package initialization
│ ├── server.py # Main MCP server
│ ├── client.py # Paystack API client
│ ├── models.py # Pydantic models
│ └── config.py # Configuration
├── tests/ # Test files
│ ├── __init__.py
│ └── test_server.py
├── pyproject.toml # Project configuration
├── requirements.txt # Dependencies
├── example.env # Environment variables example
└── README.md # This file
配置
服务器使用环境变量进行配置:
- PAYSTACK_SECRET_KEY:您的Paystack密钥(sk_test_…或sk_live_…)
- PAYSTACK_PUBLIC_KEY:您的Paystack公钥(可选)
- PAYSTACK_ENVIRONMENT:环境设置(“测试”或“实时”)
- PAYSTACK_BASE_URL:API基本URL(通常不需要)
错误处理
服务器提供全面的错误处理:
- PaystackAPI错误:因Paystack API错误而引发
- 验证错误:输入参数无效
- 网络错误:用于连接问题
所有错误都已正确格式化,并将描述性消息返回给客户端。
安全
- 永远不要承诺你的
.env文件或实际API密钥 - 在开发过程中使用测试密钥
- 仅在生产环境中使用实时密钥
- 验证所有输入参数
- 遵循Paystack的安全最佳实践
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 运行测试套件
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
有关此MCP服务器的问题:
- 在GitHub上打开一个问题
- 查看Paystack API文档
- 审查MCP规范
对于Paystack API问题:
- 访问 Paystack文档
- 联系Paystack支持