Back to MCP directory
publicPublicdnsLocal runtime

authorize-net-mcp

该项目是一个基于Model Context Protocol (MCP)的支付服务,通过集成Authorize.net Node SDK,提供即时信用卡扣款和生成托管支付页面两种功能。作为MCP服务器,它将支付操作封装为标准化工具,供AI代理或其他平台调用,实现安全、结构化的支付处理。

article

README

🚀 authorize-net-mcp 项目文档

authorize-net-mcp 是一个基于 Model Context Protocol (MCP) 的服务器项目,它整合了 Authorize.net Node SDK,为用户提供了两种主要的支付功能,能有效解决支付流程中的操作需求,提升支付处理的效率和便捷性。

🚀 快速开始

启动步骤

  1. 安装依赖
npm install
  1. 设置环境变量

    根据你的操作系统,按照以下方式设置 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"
      
  2. 启动服务器

npm start

✨ 主要特性

本项目提供了两种主要的支付功能:

  1. takePayment - 立即扣款(AUTH_CAPTURE)。
  2. createInvoice - 生成一个供客户在线支付的托管账单页面。

📚 详细文档

模型上下文协议 (MCP) 简介

MCP 是一种用于连接模型和上下文数据的协议,允许在不同的环境中进行交互。通过 MCP,可以方便地调用各种工具和服务。

功能说明

  • 立即扣款 (takePayment):支持直接从客户的信用卡中扣除指定金额。
  • 生成账单 (createInvoice):创建一个托管页面链接,客户可以通过该链接输入支付信息完成交易。

项目结构

project/
├── src/                 # 源代码目录
│   ├── authorize-net.ts # Authorize.net 的集成实现
│   └── mcp-server.ts    # MCP 服务器的主要逻辑
├── package.json         # 项目依赖和脚本配置
└── README.md            # 项目文档

使用 MCP 工具

列出可用工具

调用以下命令以获取所有可用的 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 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client