PMP_SUPPLIER_PORT / DISCOVERY

熊二支付 (Xiong Er Pay) 对接研判报告

研判时间: 2026-06-11 MCH: 440611014347773 SITE: PMP 撮合平台 研判结论: 疑似模板

一、 通道对接基本要素

统一下单接口 (Pay)

  • 接口网关: https://ut9qk-api.baijia.cfd/pay-api/order/create
  • 请求方式: POST JSON (Content-Type: application/json)
  • 金额单位: amount (分,整型,避免浮点数精度受损)
  • 加签规则: 参数 ASCII 排序拼接 商户密钥 进行 MD5 加密,计算小写 32 位签名。

异步回调通知 (Notify)

  • 请求方式: POST JSON
  • 防刷白名单 IP: 8.217.208.127
  • 商户侧响应: 回调处理成功后必须输出纯文本 SUCCESS (大写)。
  • 成功判定: payStatus == SUCCESS 代表支付成功。

二、 兼容性对比与模板评估

经过与 PMP 系统历史支付通道对比,熊二支付的协议格式与现有的 dingsheng(鼎盛)、wanchuan(万川)和 yuanhang(远航)三个通道完全一致。这三个通道在 Go 代码中的实现和签名算法皆是一比一的复制品。以下为接口比对细节:

比对维度 熊二支付 协议 鼎盛/万川/远航 驱动 匹配度
下单参数 mchKey, product, mchOrderNo, amount, nonce, timestamp, notifyUrl mchKey, product, mchOrderNo, amount, nonce, timestamp, notifyUrl 🟢 100% 一致
下单响应 code=200成功,跳转链接位于 data.url.payUrl,系统订单号位于 data.serialOrderNo code=200成功,跳转链接位于 data.url.payUrl,系统订单号位于 data.serialOrderNo 🟢 100% 一致
加签规则 非空参数字典序拼接,末尾追加 商户密钥,MD5 32位小写 使用 utils.Sign2(params, apiKey, false),逻辑完全一致 🟢 100% 一致
回调格式 JSON,payStatus = SUCCESS 为成功,成功返回大写 SUCCESS JSON,payStatus = SUCCESS 为成功,输出大写 SUCCESS 🟢 100% 一致
🚀 研判结论:本项目采用 疑似模板 结论,并设置 needsHumanConfirm = true。尽管协议 100% 一致,但由于系统中有三个运行中的模板(鼎盛 DS、万川 wc、远航 YH)完全等价,技术上均能支持该商户。需由人工复核选择其中一个模板配置上线,或新增独立驱动 xionger 并注册后台模板 XE 隔离上线。

三、 系统集成与交叉注册方案 (新建独立通道 diff 草案)

如果业务决定新增独立通道 XE 避免共用,可在系统三处进行以下代码注册:

1. 分发器注册

修改文件:pmp/common/channels/handler.go

// 导入部分追加
import "pmp_backend/common/channels/xionger"

// SelectPay 模板 switch 结构追加
case "XE":
    res, params, err = xionger.Pay(ctx, order, channel, extra)
    return

2. 网关回调路由注册

修改文件:pmp/pmp_gateway/router/http.go

// 导入部分追加
import "pmp_backend/common/channels/xionger"

// notify 路由组追加
notify.POST("/xionger", xionger.NotifyHandler, middle.NotifyVerifySign("mchOrderNo", false))

3. 管理后台模板字典追加

修改文件:pmp/pmp_admin/service/out/channel_template.go

// ChannelTemplates 列表追加
{"XE", "/notify/xionger"}, // 熊二 - PMP