支付网关服务

MCP NewebPay 是一个为台湾领先的支付网关NewebPay提供的模型上下文协议服务器,提供8种支付API作为AI可调用的工具,包括支付创建、交易查询、退款和定期支付管理等功能。

  • by asgard-ai-platform
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 asgard-ai-platform/mcp-newebpay

使用说明

MCP NewebPay

模型上下文协议服务器 NewebPay(蓝新金流) -台湾领先的支付网关。将8个支付API作为AI可调用工具公开。

繁体中文

部分 Asgard人工智能平台 开源生态系统。

特性

  • 8种支付工具 涵盖付款创建、交易查询、退款和定期付款管理
  • AES-256-CBC加密 内置--自动处理NewebPay的加密/解密协议
  • 测试/生产切换 --单个env-var在沙盒和实时环境之间切换
  • 标准JSON-RPC 2.0 --标准MCP传输

工具

付款(NDNF--在线交易)

工具 API 说明
create_mpg_payment NPA-F01 创建付款并返回加密的表单数据以进行浏览器重定向
query_trade NPA-B02 查询单笔交易状态、付款和退款明细
cancel_authorization NPA-B01 取消信用卡授权
close_refund NPA-B031~34 请求关闭、退款、取消关闭或取消退款
ewallet_refund NPA-B06 退还电子钱包付款(LINE Pay、台湾Pay等)

定期付款(NDNP——信用卡定期付款)

工具 API 说明
create_period_payment NPA-B05 创建重复授权并返回加密的表单数据以进行浏览器重定向
alter_period_status NPA-B051 暂停、终止或重新启动定期授权
alter_period_content NPA-B052 修改授权金额、计费周期或到期

快速开始

从PyPI安装

pip install mcp-newebpay

或者克隆并在本地安装

git clone https://github.com/asgard-ai-platform/mcp-newebpay.git
cd mcp-newebpay
uv venv && source .venv/bin/activate
uv pip install -e .

配置

cp .env.example .env
# Edit .env with your NewebPay credentials

环境变量(仅配置您需要的内容):

变量 描述
NEWEBPAY_ENV test (默认)或 production
NDNF——在线交易
NEWEBPAY_NDNF_MERCHANT_ID 支付API的商户ID
NEWEBPAY_NDNF_HASH_KEY 哈希密钥(32个字符)
NEWEBPAY_NDNF_HASH_IV 哈希IV(16个字符)
NDNP——定期付款
NEWEBPAY_NDNP_MERCHANT_ID 重复API的商户ID
NEWEBPAY_NDNP_HASH_KEY 哈希密钥(32个字符)
NEWEBPAY_NDNP_HASH_IV 哈希IV(16个字符)

NDNF和NDNP可能使用不同的商家帐户。只配置您需要的集合——未配置API的工具在调用时将报告一个明确的错误。

跑

python mcp_server.py

Claude代码集成

该项目包括 .mcp.json 用于自动发现。添加到您的Claude代码配置中:

{
  "mcpServers": {
    "newebpay": {
      "command": "python",
      "args": ["mcp_server.py"],
      "cwd": "/path/to/mcp-newebpay",
      "env": {
        "NEWEBPAY_ENV": "test",
        "NEWEBPAY_NDNF_MERCHANT_ID": "your_ndnf_merchant_id",
        "NEWEBPAY_NDNF_HASH_KEY": "your_ndnf_hash_key",
        "NEWEBPAY_NDNF_HASH_IV": "your_ndnf_hash_iv",
        "NEWEBPAY_NDNP_MERCHANT_ID": "your_ndnp_merchant_id",
        "NEWEBPAY_NDNP_HASH_KEY": "your_ndnp_hash_key",
        "NEWEBPAY_NDNP_HASH_IV": "your_ndnp_hash_iv"
      }
    }
  }
}

使用示例

一旦MCP服务器运行并连接到您的AI助手,您就可以使用自然语言与NewebPay进行交互:

创建付款

你: “帮我为订单A20250403001创建信用卡付款,金额为350新台币,项目:年度会员资格”

人工智能: 我已经生成了订单A20250403001的付款单。以下是详细信息:

  • 金额:350元
  • 付款页面URL: https://ccore.newebpay.com/MPG/mpg_gateway

请在浏览器中打开以下URL以完成付款。客户将被重定向到NewebPay的安全支付页面,以输入他们的卡详细信息。

Raw API Response
{
  "url": "https://ccore.newebpay.com/MPG/mpg_gateway",
  "form_data": {
    "MerchantID": "MS358668323",
    "TradeInfo": "04ac744434c76218dd6ba52b78da433f...",
    "TradeSha": "EFCFC9E418A8DCBE49370897FA4FCFFA...",
    "Version": "2.0"
  }
}

查询处理

你: “订单mcp1775195782已经支付了吗?金额是100新台币”

人工智能: 是的,订购 mcp1775195782 已成功付款。以下是总结:

项目 详细信息
状态 已支付(交易状态:1)
金额 100元
付款方式 信用卡(Credit)
卡片 400022*****1111
授权码 114493
Acquiring Bank KGI(凯基银行)
关闭状态 已结算(3)
退款状态 无(0)
交易编号:26040313563142518
Raw API Response
{
  "Status": "SUCCESS",
  "Message": "查詢成功",
  "Result": {
    "MerchantID": "MS358668323",
    "Amt": 100,
    "TradeNo": "26040313563142518",
    "MerchantOrderNo": "mcp1775195782",
    "TradeStatus": "1",
    "PaymentType": "CREDIT",
    "RespondCode": "00",
    "Auth": "114493",
    "Card6No": "400022",
    "Card4No": "1111",
    "AuthBank": "KGI",
    "CloseStatus": "3",
    "BackStatus": "0"
  }
}

关闭(结算)

你: 请求关闭订单demo1775199586,金额新台币200元

人工智能: 完成!订单关闭(结算)请求 人口1775199586 已成功提交。

  • 金额:新台币200元
  • 交易编号:26040315000942606
  • 资金将在下一个商业周期结算到您的账户。
Raw API Response
{
  "Status": "SUCCESS",
  "Message": "請款資料新增成功_模擬信用卡請款成功",
  "Result": {
    "MerchantID": "MS358668323",
    "Amt": 200,
    "MerchantOrderNo": "demo1775199586",
    "TradeNo": "26040315000942606"
  }
}

取消授权

你: 取消订单canc1775199618的信用卡授权,金额为150新台币

人工智能: 订单的信用卡授权 canc1775199618 已取消。

  • 金额:新台币150元
  • 交易编号:26040315002642607
  • 客户信用卡的冻结已解除。
Raw API Response
{
  "Status": "SUCCESS",
  "Message": "放棄授權成功",
  "Result": {
    "MerchantID": "MS358668323",
    "Amt": 150,
    "MerchantOrderNo": "canc1775199618",
    "TradeNo": "26040315002642607"
  }
}

修改定期付款

你: “将授权P260403144725zl3MVV的经常性金额更改为149新台币”

人工智能: 经常性任务 P260403144725zl3MVV 已更新:

  • 每期新金额: 新台币149元
  • 下次计费日期: 2026-04-05
  • 更新后的金额将从下一个计费周期开始生效。
Raw API Response
{
  "Status": "SUCCESS",
  "Message": "定期定額委託單修改成功!",
  "Result": {
    "MerOrderNo": "per1775198836",
    "PeriodNo": "P260403144725zl3MVV",
    "AlterAmt": "149",
    "NewNextAmt": "149",
    "NewNextTime": "2026-04-05"
  }
}

暂停定期付款

你: “暂停重复授权P260403144725zl3MVV”

人工智能: 经常性任务 P260403144725zl3MVV 已暂停。在您恢复之前,不会再收取任何费用。

要继续,只需说: “恢复授权P260403144725zl3MVV”

Raw API Response
{
  "Status": "SUCCESS",
  "Message": "定期定額委託單暫停成功",
  "Result": {
    "MerOrderNo": "per1775198836",
    "PeriodNo": "P260403144725zl3MVV",
    "AlterType": "suspend"
  }
}

项目结构

mcp-newebpay/
├── app.py                       # MCPServer singleton
├── mcp_server.py                # Entry point (stdio transport)
├── config/settings.py           # Endpoints, URL builder, env switch
├── connectors/
│   └── newebpay_client.py       # AES encrypt/decrypt + Form POST
├── auth/
│   └── newebpay.py              # Merchant ID + Hash Key/IV credentials
├── tools/
│   ├── payment_tools.py         # NDNF: query, cancel, close/refund, e-wallet refund
│   └── periodic_tools.py        # NDNP: alter status, alter content
├── tests/test_all_tools.py      # E2E test runner
└── reference/                   # NewebPay official API docs (PDF)

测试

# Test connection with NewebPay API
python scripts/auth/test_connection.py

# Run all tool E2E tests
python tests/test_all_tools.py

NewebPay API参考

许可证

MIT许可证——见 许可证 了解详情。

Asgard生态系统的一部分

此服务器是 Asgard人工智能平台,将人工智能与电子商务、金融、政府数据等现实世界的服务连接起来。