README
🚀 payfast-mcp
这是一个适用于南非领先支付网关 PayFast 的 模型上下文协议 (MCP) 服务器,可让像 Claude 这样的 AI 助手安全地与你的 PayFast 商户账户进行交互。
✨ 主要特性
- 交易管理 — 提取交易详情、查询交易历史、处理令牌化收费
- 订阅管理 — 提取、暂停、恢复、取消、更新订阅以及进行临时订阅收费
- 退款处理 — 创建退款(全额或部分)并查询退款状态
- 信用卡查询 — 查找信用卡交易详情
- 沙盒支持 — 默认使用沙盒模式进行安全测试
- 设计安全 — 仅通过环境变量提供凭证,绝不记录敏感数据
📦 可用工具
| 工具 | 描述 | 风险 |
|------|-------------|------|
| ping | 测试 API 连接性 | 低 |
| transaction_fetch | 通过 ID 获取交易 | 低 |
| transaction_history | 查询交易历史 | 低 |
| transaction_charge | 对存储的令牌进行收费 | 中 |
| subscription_fetch | 获取订阅详情 | 低 |
| subscription_pause | 暂停订阅 | 高 |
| subscription_unpause | 恢复订阅 | 中 |
| subscription_cancel | 取消订阅 | 高 |
| subscription_update | 更新订阅条款 | 高 |
| subscription_adhoc | 临时订阅收费 | 高 |
| refund_create | 处理退款 | 高 |
| refund_fetch | 获取退款详情 | 低 |
| creditcard_fetch | 查询信用卡交易 | 低 |
高风险操作在执行前需要人工批准。
🚀 快速开始
前提条件
- Node.js 18 及以上版本
- 一个 PayFast 商户账户(沙盒或生产环境)
安装
npm install -g payfast-mcp
或者使用 npx 直接运行:
npx payfast-mcp
配置
设置以下环境变量:
| 变量 | 是否必需 | 描述 |
|----------|----------|-------------|
| PAYFAST_MERCHANT_ID | 是 | 你的 PayFast 商户 ID |
| PAYFAST_MERCHANT_KEY | 是 | 你的 PayFast 商户密钥 |
| PAYFAST_PASSPHRASE | 是 | 你的 PayFast API 密码短语 |
| PAYFAST_ENVIRONMENT | 否 | sandbox(默认)或 production |
你也可以在工作目录中创建一个 .env 文件。
Claude Desktop
添加到你的 Claude Desktop 配置文件 (claude_desktop_config.json) 中:
{
"mcpServers": {
"payfast": {
"command": "npx",
"args": ["-y", "payfast-mcp"],
"env": {
"PAYFAST_MERCHANT_ID": "your-merchant-id",
"PAYFAST_MERCHANT_KEY": "your-merchant-key",
"PAYFAST_PASSPHRASE": "your-passphrase",
"PAYFAST_ENVIRONMENT": "sandbox"
}
}
}
}
Claude Code
添加到你的 Claude Code 设置中:
claude mcp add payfast \
-e PAYFAST_MERCHANT_ID=your-merchant-id \
-e PAYFAST_MERCHANT_KEY=your-merchant-key \
-e PAYFAST_PASSPHRASE=your-passphrase \
-e PAYFAST_ENVIRONMENT=sandbox \
-- npx -y payfast-mcp
Cursor
添加到你的 Cursor MCP 配置文件(项目级为 .cursor/mcp.json,全局为 ~/.cursor/mcp.json)中:
{
"mcpServers": {
"payfast": {
"command": "npx",
"args": ["-y", "payfast-mcp"],
"env": {
"PAYFAST_MERCHANT_ID": "your-merchant-id",
"PAYFAST_MERCHANT_KEY": "your-merchant-key",
"PAYFAST_PASSPHRASE": "your-passphrase",
"PAYFAST_ENVIRONMENT": "sandbox"
}
}
}
}
Codex
通过 Codex CLI 添加:
codex mcp add payfast \
--env PAYFAST_MERCHANT_ID=your-merchant-id \
--env PAYFAST_MERCHANT_KEY=your-merchant-key \
--env PAYFAST_PASSPHRASE=your-passphrase \
--env PAYFAST_ENVIRONMENT=sandbox \
-- npx -y payfast-mcp
或者直接添加到 ~/.codex/config.toml 中:
[mcp_servers.payfast]
command = "npx"
args = ["-y", "payfast-mcp"]
[mcp_servers.payfast.env]
PAYFAST_MERCHANT_ID = "your-merchant-id"
PAYFAST_MERCHANT_KEY = "your-merchant-key"
PAYFAST_PASSPHRASE = "your-passphrase"
PAYFAST_ENVIRONMENT = "sandbox"
💻 开发
# 克隆仓库
git clone https://github.com/jpbester/payfast-mcp.git
cd payfast-mcp
# 安装依赖
npm install
# 构建
npm run build
# 运行测试
npm test
# 使用 MCP 检查器运行
npm run inspect
📄 许可证
MIT
Scan to join WeChat group