主题
模拟联调通道:工具概览与边界
模拟联调通道是一个独立部署的通道子应用,扮演"三方支付平台":主应用把模拟通道当作真实通道调用,它在内部完成下单、回调、退款、分账、预授权与对账,不需要任何真实通道凭据。
它解决的是"通道还没下号、异常场景复现不了、对账差异造不出来"这三类问题,不承载真实资金。管理台默认地址
http://127.0.0.1:10400。
适用版本
本文按 0.4 判定链(2026-10 收敛后)编写:支付、退款、预授权不再有金额规则表,只有分账保留一张。若界面仍显示"支付/退款/预授权规则"页签,说明你的版本较早,以实际界面为准;升级后旧规则行会在启动时自动清理。
三类用途
| 用途 | 典型场景 | 你能得到什么 |
|---|---|---|
| 开发联调 | 通道未下号、沙箱额度受限、回调地址未备案 | 支付→回调→订单翻转的完整链路,可反复重放 |
| 演示 POC | 给客户演示聚合支付、分账、预授权、对账 | 不依赖真实通道与真实资金的端到端演示 |
| 异常演练 | 支付失败、超时、异步退款、掉回调、对账长款/短款 | 可控、可复现的异常分支,不靠真实通道"碰运气" |
能力地图
| 域 | 覆盖内容 |
|---|---|
| 支付 | 下单、关单、同步查询;9 种支付方式(扫码/跳转/付款码/H5/PC/APP/公众号/JSAPI/小程序) |
| 退款 | 退款发起、退款同步;微信退款默认"处理中",用于演练异步回调翻转 |
| 分账 | 发起、完结、同步、接收方绑定/解绑;唯一保留金额尾号规则表的交易类型 |
| 转账 | 转账订单台账(主应用当前未接通网关,属预留能力) |
| 预授权 | 冻结、请款、解冻、撤销、查询;支付宝预授权与微信支付分同源模拟 |
| 进件与终端 | 进件受理/查询、终端报备/注销/查询 |
| 微信生态 | 应用与用户档案、openid 发放、OAuth 授权页、拟真微信支付页 |
| 投诉 | 支付宝/微信投诉契约模拟,可从支付订单发起并联动退款 |
| 对账 | 对账单下载、长款/短款/状态不一致造数 |
| 开放网关 | /v3/mock/** 21 个端点,RSA 双向签名 + 防重放,附 6 个 C 端拟真页 |
与相邻能力的区别
| 能力 | 运行位置 | 用什么配置 | 适合做什么 | 不适合做什么 |
|---|---|---|---|---|
| 开发者调试 | 运营端页面内 | 真实商户与应用配置 | 验证签名、路由、通道商户是否配对 | 造异常、造对账差异、压全链路 |
| 模拟联调通道 | 独立子应用(10400) | 独立的模拟通道商户与路由 | 全链路联调、异常演练、POC 演示 | 真实收款、生产流量 |
| 真实通道沙箱 | 三方平台 | 真实进件与密钥 | 上线前最终验证 | 异常场景可控复现、批量造数 |
五分钟最短路径
目标:在本机发起一笔模拟支付,看到订单变成"支付成功",并收到回调。
- 拉起子应用:
cd basic/daxpay-plus-mock-channel && mvnd spring-boot:run,浏览器打开http://127.0.0.1:10400,能看到仪表盘即成功。 - 建模拟通道商户:运营端「通道商户」新增,产品选「模拟支付」,通道商户号任意(如
MOCK001),凭证全部留空。 - 配路由:运营端「通道路由」把该通道商户纳入候选(基础模式按渠道默认绑定,场景模式按支付方式选择)。
- 配回调地址:运营端「平台配置 → 访问地址」的后端地址必须是本机可达地址(如
http://127.0.0.1:19999)。 - 对齐传输密钥:主应用
daxpay.channel.mock.transport-encrypt.key与本仓daxpay.channel.transport-encrypt.key保持一致,重启主应用。 - 下单验证:用开发者调试或业务系统发起一笔扫码支付,打开返回的确认页,点「确认支付成功」,回主应用看订单状态与回调记录。
每一步的细节与失败表现见接入配置。
数据与生命周期
- 订单、规则、回调记录全部落在 SQLite 单文件(默认
data/mock-channel.db),重启不清零。 - 订单/退款/分账默认各保留 5000 条、回调记录 2000 条,超出按创建时间淘汰最老;容量可在「运行设置」调整,
0表示不限(压测场景)。 - 需要清空重来时用「运行设置 → 清空全部数据」,规则与运行开关不受影响。
安全边界
三条红线
- 只部署在开发机或可信内网:管理台无鉴权,且能强制改单、补发回调,公网可达等于把支付结果裁决权交给任何访客。
- 不进生产部署清单:主应用侧模拟通道模块按部署模式条件装配,生产模式不注册;误配模拟路由会直接报"产品策略不存在"。
- 不承载真实资金:所有单据都是模拟数据,不要把它当作对账或资金依据。
下一步
| 你的目标 | 阅读 |
|---|---|
| 把模拟通道接进主应用 | 接入配置 |
| 认识管理台 19 个视图 | 管理台导览 |
| 造失败、挂起、异步退款 | 场景规则与运行开关 |
| 联调开放网关 | 联调材料与接口 |
| 排障 | 常见问题与排障 |