authorize-net-mcp 是一个基于 Model Context Protocol (MCP) 的服务器项目,它整合了 Authorize.net Node SDK,为用户提供了两种主要的支付功能,能有效解决支付流程中的操作需求,提升支付处理的效率和便捷性。
npm install
设置环境变量:
根据你的操作系统,按照以下方式设置 Authorize.net 的 API 密钥和配置:
Linux/MacOS:
export AUTHORIZE_NET_API_KEY=your_api_key_here
export AUTHORIZE_NET_CONFIG=path_to_your_config.json
Windows (命令行):
set AUTHORIZE_NET_API_KEY=your_api_key_here
set AUTHORIZE_NET_CONFIG=path_to_your_config.json
PowerShell:
$env:AUTHORIZE_NET_API_KEY="your_api_key_here"
$env:AUTHORIZE_NET_CONFIG="path_to_your_config.json"
启动服务器:
npm start
本项目提供了两种主要的支付功能:
takePayment - 立即扣款(AUTH_CAPTURE)。createInvoice - 生成一个供客户在线支付的托管账单页面。MCP 是一种用于连接模型和上下文数据的协议,允许在不同的环境中进行交互。通过 MCP,可以方便地调用各种工具和服务。
takePayment):支持直接从客户的信用卡中扣除指定金额。createInvoice):创建一个托管页面链接,客户可以通过该链接输入支付信息完成交易。project/
├── src/ # 源代码目录
│ ├── authorize-net.ts # Authorize.net 的集成实现
│ └── mcp-server.ts # MCP 服务器的主要逻辑
├── package.json # 项目依赖和脚本配置
└── README.md # 项目文档
调用以下命令以获取所有可用的 MCP 工具及其详细信息:
{
"command": "list_tools"
}
响应示例:
{
"tools": [
{
"name": "takePayment",
"description": "立即从客户的信用卡中扣款。",
"parameters": [
{ "name": "amount", "type": "number", "required": true },
{ "name": "cardNumber", "type": "string", "required": true },
{ "name": "expirationDate", "type": "string", "required": true },
{ "name": "cardCode", "type": "string", "required": true }
]
},
{
"name": "createInvoice",
"description": "创建一个供客户在线支付的托管页面链接。",
"parameters": [
{ "name": "amount", "type": "number", "required": true },
{ "name": "invoiceNumber", "type": "string", "required": true },
{ "name": "description", "type": "string", "required": true }
]
}
]
}
takePayment 工具请求示例:
{
"command": "execute_tool",
"tool_name": "takePayment",
"args": {
"amount": 19.99,
"cardNumber": "4242424242424242",
"expirationDate": "0825",
"cardCode": "123"
}
}
响应示例:
{
"status": "success",
"transaction_id": "T20231017-123456"
}
createInvoice 工具请求示例:
{
"command": "execute_tool",
"tool_name": "createInvoice",
"args": {
"amount": 50.0,
"invoiceNumber": "INV-1001",
"description": "T-shirt order"
}
}
响应示例:
{
"status": "success",
"url": "https://checkout.authorize.net/your_invoice_id"
}
⚠️ 重要提示
切勿将真实的 API 密钥提交到代码仓库,建议使用环境变量或专业的密钥管理工具。
💡 使用建议
正式部署时,请确保使用 HTTPS 或其他安全协议来保护通信。
本项目采用 MIT 许可证。更多细节请参考项目的 LICENSE 文件。