Cashfree MCP 服务器允许AI工具和代理通过Model Context Protocol (MCP)与Cashfree的API(支付网关、付款和SecureID)进行集成。
git clone https://github.com/cashfree/cashfree-mcp.git
cd cashfree-mcp
在安装之前,请确保已安装Node.js v14.x或更高版本。如果你使用的是nvm或brew,请确保激活了正确的版本:
node -v
# 应该输出 v14.x 或更高版本
npm install
这将安装package.json中列出的所有必需包。
💡 如果你使用的是
Node.js >=18,可能会遇到与undici等包相关的peer依赖问题。在这种情况下,升级Node.js到>=20.18.1或根据需要调整包版本。
npm run build
这会将源文件编译到dist/目录下,这是运行MCP服务器所必需的。
🛠️ 如果你在
/dist目录下看到缺少文件的错误,请确保你已经成功完成了构建步骤。
你需要一个带有API凭证的Cashfree账户(我们支持沙盒和生产密钥)。你可以在喜欢的客户端中使用Cashfree MCP,以下是一些示例配置:
在你的claude_desktop_config.json中添加以下配置块
{
"mcpServers": {
"cashfree": {
"command": "node",
"args": ["/path/to/cashfree-mcp/dist/index.js"],
"env": {
"PAYMENTS_APP_ID": "YOUR_PG_CLIENT_ID",
"PAYMENTS_APP_SECRET": "YOUR_PG_CLIENT_SECRET",
"PAYOUTS_APP_ID": "YOUR_PAYOUTS_CLIENT_ID",
"PAYOUTS_APP_SECRET": "YOUR_PAYOUTS_CLIENT_SECRET",
"TWO_FA_PUBLIC_KEY_PEM_PATH": "/path/to/public_key.pem",
"SECUREID_APP_ID": "YOUR_SECUREID_CLIENT_ID",
"SECUREID_APP_SECRET": "YOUR_SECUREID_CLIENT_SECRET",
"TOOLS": "pg,payouts,secureid",
"ENV": "sandbox",
"ELICITATION_ENABLED": "true"
}
}
}
}
在你的VS Code设置中添加以下配置块
{
"mcp": {
"inputs": [],
"servers": {
"cashfree": {
"command": "node",
"args": ["/path/to/cashfree-mcp/dist/index.js"],
"env": {
"PAYMENTS_APP_ID": "YOUR_PG_CLIENT_ID",
"PAYMENTS_APP_SECRET": "YOUR_PG_CLIENT_SECRET",
"PAYOUTS_APP_ID": "YOUR_PAYOUTS_CLIENT_ID",
"PAYOUTS_APP_SECRET": "YOUR_PAYOUTS_CLIENT_SECRET",
"TWO_FA_PUBLIC_KEY_PEM_PATH": "/path/to/public_key.pem",
"SECUREID_APP_ID": "YOUR_SECUREID_CLIENT_ID",
"SECUREID_APP_SECRET": "YOUR_SECUREID_CLIENT_SECRET",
"TOOLS": "pg,payouts,secureid",
"ENV": "sandbox",
"ELICITATION_ENABLED": "true"
}
}
}
}
}
为每个服务设置以下环境变量: 支付网关:
PAYMENTS_APP_ID:你的支付网关客户端IDPAYMENTS_APP_SECRET:你的支付网关客户端密钥付款:
PAYOUTS_APP_ID:你的付款客户端IDPAYOUTS_APP_SECRET:你的付款客户端密钥TWO_FA_PUBLIC_KEY_PEM_PATH:你的2FA公钥路径(仅在启用2FA时需要)SecureID:
SECUREID_APP_ID:你的SecureID客户端IDSECUREID_APP_SECRET:你的SecureID客户端密钥TWO_FA_PUBLIC_KEY_PEM_PATH:你的2FA公钥路径(仅在启用2FA时需要)ENV:设置为production用于生产环境,sandbox用于沙盒环境(默认值:sandbox)
TOOLS:逗号分隔的模块列表以启用。可用选项:
pg:支付网关APIpayouts:付款APIsecureid:SecureID APIELICITATION_ENABLED:设置为true以启用交互式参数获取,false以禁用(默认值:false)
当启用时,MCP服务器将在用户未提供所需字段时提示用户提供这些值,而不是因验证错误而失败。这提供了更互动的体验,通过询问用户来提供所需的字段值。
Cashfree MCP 提供以下工具,按产品类别分组
| 工具名称 | 描述 |
|---|---|
| search | 在Cashfree Payments开发者文档中搜索。 |
| get-input-source-help | 获取处理输入源变量错误的全面说明。 |
| create-payment-link | 创建新的支付链接。 |
| fetch-payment-link-details | 查看支付链接的所有详细信息和状态。 |
| cancel-payment-link | 取消活动的支付链接。取消后无法再进行支付。 |
| get-orders-for-a-payment-link | 查看支付链接的所有订单详情。 |
| create-order | 使用Cashfree创建订单以获得交易的payment_sessions_id。 |
| get-order | 使用order_id获取订单详情。 |
| get-order-extended | 获取扩展的订单数据,如地址、购物车、优惠、客户详情等。 |
| get-eligible-payment-methods | 获取给定订单金额和ID的可支付方法。 |
| get-payments-for-an-order | 查看订单的所有支付详情。 |
| get-payment-by-id | 查看订单的支付详情,通过支付ID。 |
| create-refund | 启动退款。 |
| get-all-refunds-for-an-order | 获取针对订单处理的所有退款。 |
| get-refund | 获取特定退款详情。 |
| get-all-settlements | 获取所有结算详情,指定结算ID、结算UTR或日期范围。 |
| get-split-and-settlement-details-by-order-id-v2-0 | 获取拆分和结算详情,包括订单中供应商的已结算/未结算交易。 |
| get-settlements-by-order-id | 查看特定订单的所有结算。 |
| get-disputes-by-order-id | 通过订单ID获取所有争议详情。 |
| get-disputes-by-payment-id | 通过支付ID获取所有争议详情。 |
| get-disputes-by-dispute-id | 通过争议ID获取争议详情。 |
| accept-dispute-by-dispute-id | 通过争议ID接受争议。 |
| submit-evidence-to-contest-the-dispute-by-dispute-id | 提交证据以对争议提出异议。 |
| simulate-payment | 模拟支付测试。需要先创建订单。 |
| fetch-simulation | 获取模拟支付详情。 |
| 工具名称 | 描述 |
|---|---|
| standard-transfer-v2 | 在Cashfree Payments中发起金额转账。 |
| get-transfer-status-v2 | 获取已发起转账的状态。 |
| batch-transfer-v2 | 在Cashfree Payments中发起批量转账请求。 |
| get-batch-transfer-status-v2 | 获取已发起批量转账的状态。 |
| authorize | 认证进入Cashfree系统并获取授权bearer token。 |
| create-cashgram | 创建Cashgram。 |
| deactivate-cashgram | 停用Cashgram。 |
| get-cashgram-status | 获取已创建Cashgram的状态。 |
| 工具名称 | 描述 |
|---|---|
| verify-name-match | 核实具有变化的名字。 |
| generate-kyc-link | 生成KYC信息的验证表单。 |
| get-kyc-link-status | 获取KYC验证表单的状态。 |
| generate-static-kyc-link | 生成静态KYC链接。 |
| deactivate-static-kyc-link | 停用静态KYC链接。 |
本项目根据MIT开源许可证的条款进行许可。请参阅LICENSE以获取完整条款。
对于详细的API文档,请访问Cashfree API 文档。
如有任何问题,请联系care@cashfree.com或在GitHub 仓库中提交问题。