关于 mcp-nupay
mcp-nupay 是 Nubank 商户收银服务 NuPay 的 MCP 服务,面向需要在巴西进行钱包结账的商户与 Agent。它支持通过 Pix 或 Nubank 应用确认付款,并提供预授权与循环扣款流程。
主要功能
- 01创建、查询与取消 NuPay 付款
- 02退款与退款状态查询
- 03收款方(最终受益人)登记与管理
- 04结算报告与分期付款条件查询
- 05CIBA / OTP 预授权与刷新令牌
适用场景
- 01为 Agent 发起 NuPay 结账并跟踪付款状态
- 02处理商户退款与结算对账
- 03为回头客配置预授权与循环扣款
MCP 相关
该项目为 MCP 服务,向 MCP 客户端暴露 22 个工具,用于付款、退款、收款方、结算及令牌管理。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @codespar/mcp-nupayNUPAY_MERCHANT_KEY密钥NuPay X-Merchant-Key issued to your merchantNUPAY_MERCHANT_TOKEN密钥NuPay X-Merchant-Token issued to your merchantNUPAY_CLIENT_IDOAuth2/CIBA client_id for pre-authorized (recurrence) flows. Optional unless using backchannel_start / backchannel_complete.NUPAY_CLIENT_SECRET密钥OAuth2/CIBA client_secret for pre-authorized flows. Optional unless using backchannel_* tools.NUPAY_ENVsandbox | production. Defaults to sandbox. Drives both checkout API and auth base URLs.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
22收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| items | array | 是 | 购买的商品明细 |
| amount | object | 是 | 付款金额对象 |
| amount.value | number | 是 | 以分为单位的金额(BRL) |
| amount.currency | string | 是 | ISO-4217,例如 BRL |
| shopper | object | 是 | 客户身份信息 |
| shopper.ip | string | 否 | 用于欺诈评分的购物者 IP |
| shopper.name | string | 是 | |
| shopper.email | string | 是 | |
| shopper.phone | string | 否 | |
| shopper.locale | string | 否 | 例如 pt-BR |
| shopper.document | string | 是 | 仅限 CPF 数字 |
| shopper.documentType | enum | 是 | CPF | CNPJ |
| shipping | object | 否 | 配送地址和方式 |
| storeName | string | 否 | |
| recipients | array | 否 | 最多 10 位最终受益人(监管要求的拆分) |
| callbackUrl | string | 否 | 用于状态通知的 HTTPS webhook URL |
| paymentFlow | object | 否 | 用于重定向流程的返回/取消 URL |
| paymentFlow.cancelUrl | string | 否 | |
| paymentFlow.returnUrl | string | 否 | |
| referenceId | string | 是 | 电商支付参考 ID(每个商户内唯一) |
| installments | number | 否 | 分期次数(仅适用于预授权) |
| merchantName | string | 否 | |
| paymentMethod | object | 是 | 支付方式选择 |
| paymentMethod.type | string | 是 | 例如 NUPAY、PIX |
| paymentMethod.authorization | string | 否 | NuPay 的授权模式(例如 CIBA、OTP、REDIRECT) |
| referenceDate | string | 否 | ISO-8601 时间戳 |
| billingAddress | object | 否 | 账单地址 |
| delayToAutoCancel | number | 否 | 自动取消前的分钟数。默认值为 30。 |
| merchantOrderReference | string | 是 | 商户侧订单 ID(每个商户内唯一) |
详细介绍
@codespar/mcp-nupay
适用于 NuPay 的 MCP 服务 — Nubank 的商户结账通道。
NuPay 是 Nubank 面向巴西推出的 PayPal / Shop Pay 式方案:一种由钱包支持的结账方式,可借助 Nubank 在巴西超过 1 亿用户的覆盖范围。Agent 创建支付后,购物者可在 Nubank 应用中确认(推送通知 + 生物识别),也可通过 Pix 确认,资金随后结算给商户。预授权流程(CIBA / OTP)支持周期性付款,并为回头客实现真正的一键支付。
工具(22)
| 工具 | 用途 |
|---|---|
create_payment | 创建 NuPay 结账支付。 |
get_payment | 按 pspReferenceId 获取完整支付详情(金额、购物者、商品、当前状态、时间戳)。 |
get_payment_status | 按 pspReferenceId 获取支付状态。 |
list_payments_by_date | 列出在指定日期范围内创建的支付。 |
cancel_payment | 取消尚未捕获/结算的支付。 |
create_refund | 退还已结算的支付(全额或部分退款)。 |
get_refund | 按 pspReferenceId + refundId 获取退款状态。 |
list_refunds | 列出针对指定支付发起的所有退款。 |
create_recipient | 注册最终受益人(监管要求的拆分付款必须提供)。 |
get_recipient | 按 referenceId 获取已注册的受益人。 |
update_recipient | 更新已注册的最终受益人(姓名、证件、国家/地区、类型)。 |
delete_recipient | 删除已注册的受益人。 |
list_recipients | 列出商户的已注册受益人(最终受益人)。 |
list_settlements | 列出指定日期范围内的结算报告(支付至商户银行账户的款项)。 |
get_settlement | 获取单笔结算(付款批次),包括其包含的交易列表。 |
query_payment_conditions | 查询指定金额可用的分期/支付条件,以及(可选)购物者 CPF。 |
create_preauth_payment | 使用预授权 Bearer access_token 创建 NuPay 支付(预授权/周期性付款流程)。 |
backchannel_start | 为购物者启动 CIBA / OTP 预授权。 |
backchannel_complete | 提交购物者收到的 OTP,完成 CIBA/OTP 流程。 |
backchannel_resend_otp | 向正在进行授权的票据对应的购物者重新发送 OTP。 |
exchange_token | 在 POST /v1/token 处兑换 authorization_code 或 refresh_token。 |
revoke_token | 在 POST /v1/token/revoke 处撤销已签发的 access_token 或 refresh_token。 |
安装
npm install @codespar/mcp-nupay
环境
NUPAY_MERCHANT_KEY="..." # X-Merchant-Key issued to your merchant
NUPAY_MERCHANT_TOKEN="..." # X-Merchant-Token (secret)
NUPAY_CLIENT_ID="..." # Optional — OAuth client_id for pre-auth / recurrence
NUPAY_CLIENT_SECRET="..." # Optional — OAuth client_secret
NUPAY_ENV="sandbox" # sandbox (default) | production
身份验证
有两种流程:
- 标准商户 API(支付、退款、受益人、支付条件)使用
X-Merchant-Key+X-Merchant-Token请求头。无需兑换令牌。 - 预授权/周期性付款使用 OAuth2 + CIBA / OTP。首先调用
backchannel_start,通过backchannel_complete验证,然后使用返回的 Beareraccess_token调用create_preauth_payment。使用exchange_token刷新(grant_type=refresh_token)。访问令牌在 5 分钟后过期;周期性付款应长期存储刷新令牌。
基础 URL 根据 NUPAY_ENV 确定:
| 沙盒 | 生产环境 | |
|---|---|---|
| API | https://sandbox-api.spinpay.com.br | https://api.spinpay.com.br |
| 身份验证 | https://sandbox-authentication.spinpay.com.br/api | https://authentication.spinpay.com.br/api |
JWT client_assertion 的签名由调用方负责 — exchange_token 需要传入已签名的断言,并设置 client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer。
运行
# stdio (default)
npx @codespar/mcp-nupay
# HTTP
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-nupay
企业版
需要为 Agent 支付设置治理、预算限额和审计跟踪?CodeSpar Enterprise 在这些 MCP 服务之上增加了策略引擎、支付路由和合规模板。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。