关于 mcp-safrapay
mcp-safrapay 是 Safra 银行收单服务 Safrapay 的 MCP 服务,覆盖信用卡、Pix、boleto、分账、3DS 与拒付查询等功能。面向中大型巴西商户。该项目为 0.1.0-alpha.1 版本,认证流程和端点尚需沙箱验证。
主要功能
- 01信用卡预授权、捕获、撤销与退款
- 02Pix 与 boleto 收款创建
- 03分账规则配置与结算报告查询
- 043DS 认证、卡令牌化与分期模拟
- 05拒付详情、周期扣款与支付链接
适用场景
- 01为商户后台发起信用卡与 Pix 收款
- 02配置分账并获取结算报告对账
- 03查询拒付信息与管理周期性订阅
MCP 相关
该服务以 MCP 服务形式向客户端暴露 Safrapay 网关、管理及对账等接口的 22 个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @codespar/mcp-safrapaySAFRAPAY_CLIENT_IDSafrapay merchant CNPJ (sent as merchantCredential header on auth)SAFRAPAY_CLIENT_SECRET密钥Safrapay MerchantToken used to compute the BCRYPT Authorization header on authSAFRAPAY_MERCHANT_IDSafrapay merchant id (used in request bodies where applicable)SAFRAPAY_ENVEnvironment: 'sandbox' or 'production'. Defaults to sandbox.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
22收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| card | object | 是 | 卡片数据。建议使用 tokenize_card 生成的 card_token,而非原始 PAN。 |
| card.brand | string | 否 | |
| card.number | string | 否 | PAN;切勿记录日志 |
| card.card_token | string | 否 | 来自 tokenize_card 的令牌 |
| card.holder_name | string | 否 | |
| card.security_code | string | 否 | |
| card.expiration_year | string | 否 | |
| card.expiration_month | string | 否 | |
| amount | number | 是 | 金额以分为单位 |
| preauth | boolean | 否 | true = 仅预授权;false = 授权 + 扣款 |
| currency | string | 否 | ISO-4217 货币代码(默认 BRL) |
| customer | object | 是 | 客户身份信息 |
| customer.name | string | 是 | |
| customer.email | string | 否 | |
| customer.phone | string | 否 | |
| customer.customer_id | string | 否 | |
| customer.document_type | enum | 是 | CPF | CNPJ |
| customer.document_number | string | 是 | |
| order_id | string | 是 | 商户侧订单标识符 |
| installments | number | 否 | 分期期数(1 = à vista) |
| soft_descriptor | string | 否 | 账单描述 |
详细介绍
@codespar/mcp-safrapay
面向 Safrapay 的 MCP 服务——Banco Safra 的收单机构。专注于巴西中大型商户及私人银行客户,跨足 B2B 银行业务。
Safrapay 的 API 由 Aditum 支付平台提供(文档见 safrapay-docs.aditum.com.br)。网关、门户、对账和 Webhook 产品分别部署在不同的基础域名下。
状态:0.1.0-alpha.1。 此处的端点路径依据 Aditum 托管的 Safrapay 开发者文档(可公开访问)整理。身份验证流程(网关使用 BCRYPT + CNPJ,之后使用 JWT Bearer)是尽力推断的:公开文档未完整说明 BCRYPT 哈希输入格式,很可能需要沙盒账户才能最终确定。在通过真实沙盒商户验证之前,请将所有工具视为脚手架。
工具(22)
| 工具 | 用途 |
|---|---|
authorize_payment | 在 Safrapay 上授权信用卡付款。 |
capture_payment | 捕获之前已授权(预授权)的付款。 |
cancel_payment | 取消(撤销)已授权但尚未捕获的付款。 |
refund_payment | 退还已捕获的付款。 |
create_pix | 创建 Pix 收款。 |
create_boleto | 创建 boleto 收款。 |
get_payment | 根据 Safrapay chargeId 检索收款。 |
tokenize_card | 将卡片令牌化,以便安全地重复使用,符合 PCI 要求。 |
create_split_rule | 为现有收款配置分账分配规则。 |
get_statement | 检索电子账单(extrato)。 |
list_transactions | 列出收款,可选添加筛选条件。 |
delete_card_token | 撤销已存储的卡片令牌。 |
search_by_merchant_order | 根据商户侧订单标识符(创建时提供的 order_id)查找收款。 |
query_chargeback | 检索某笔收款的拒付(contestacao)详情:原因代码、收单机构截止日期、争议金额、证据…… |
query_installments | 模拟指定金额的分期付款方案。 |
authenticate_3ds | 在调用 authorize_payment 前启动 3-D Secure 身份验证。 |
create_recurrence | 创建定期计费订阅。 |
get_recurrence | 根据 id 检索定期扣款信息:计划、下次扣款日期、扣款历史和状态。 |
cancel_recurrence | 取消有效的定期扣款。 |
get_settlement_report | 从对账主机检索结算(liquidacao)报告。 |
create_payment_link | 创建托管结账付款链接。 |
register_webhook | 在 Safrapay Webhook 产品上批量注册订阅。 |
安装
npm install @codespar/mcp-safrapay@alpha
环境
SAFRAPAY_CLIENT_ID="..." # Merchant CNPJ (sent as merchantCredential)
SAFRAPAY_CLIENT_SECRET="..." # MerchantToken (used to compute BCRYPT)
SAFRAPAY_MERCHANT_ID="..." # Safrapay merchant id (body field where required)
SAFRAPAY_ENV="sandbox" # 'sandbox' (default) or 'production'
基础 URL
Safrapay 将 API 拆分为四个部署在不同域名下的产品:
| 产品 | 沙盒 | 生产环境 |
|---|---|---|
| 网关(付款) | https://payment-dev.aditum.com.br | https://payment.aditum.com.br |
| 门户(管理) | https://portal-dev.aditum.com.br | https://portal-api.aditum.com.br |
| 对账 | https://reconciliation-dev.aditum.com.br | https://reconciliation-api.aditum.com.br |
| Webhook | https://webhook-dev.aditum.com.br | https://webhook.aditum.com.br |
身份验证
网关采用两步引导流程:
- 向
POST {gateway}/v2/merchant/auth发送请求,携带请求头Authorization: <BCRYPT(CNPJ+MerchantToken)>和merchantCredential: <CNPJ>,以换取 JWT 访问令牌。 - 后续调用均发送
Authorization: Bearer <jwt>。
服务会在内存中缓存 JWT,直到令牌过期前 60 s。BCRYPT 输入拼接方式是有根据的推测;获得沙盒账户后请进一步确认。
运行
# stdio (default)
npx @codespar/mcp-safrapay
# HTTP
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-safrapay
端点映射(供工具使用)
| 工具 | 方法 | 路径(除非另有说明,否则位于网关下) |
|---|---|---|
authorize_payment | POST | /v2/charge/authorization 或 /v2/charge/preauthorization |
capture_payment | PUT | /v2/charge/capture/{chargeId} |
cancel_payment | PUT | /v2/charge/cancelation/{chargeId} |
refund_payment | PUT | /v2/charge/cancelation/{chargeId}(部分金额) |
create_pix | POST | /v2/charge/pix |
create_boleto | POST | /v2/charge/boleto |
get_payment | GET | /v2/charge/{chargeId} |
tokenize_card | POST | /v2/card(或 /v2/temporary/card) |
create_split_rule | PUT | /v2/charge/split/{chargeId} |
get_statement | GET | /v2/Account/Movement/Extract |
list_transactions | GET | /v2/charges |
register_webhook | POST | {webhook}/v1/webhook/bulk |
企业版
需要为 Agent 付款设置治理机制、预算限制和审计追踪?CodeSpar Enterprise 在这些 MCP 服务的基础上,增加了策略引擎、付款路由和合规模板。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。