1. 快速接入
商户入驻后可在后台获取 pid 与 商户密钥(key)。平台网关地址如下(部署后替换为你的域名):
// 多通道收款平台统一网关
https://your-domain.com/submit.php // 页面跳转支付
https://your-domain.com/mapi.php // API 接口支付
https://your-domain.com/api.php?act=order // 订单查询
https://your-domain.com/submit.php // 页面跳转支付
https://your-domain.com/mapi.php // API 接口支付
https://your-domain.com/api.php?act=order // 订单查询
所有接口均支持 MD5 签名,与易支付协议签名规则一致;已对接易支付 / 彩虹易支付的系统,仅需把网关地址与密钥替换为本平台下发内容即可完成接入。
2. 易支付协议(submit / mapi)
2.1 请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
pid | 是 | 商户 ID |
type | 否 | 支付方式:wxpay / alipay / bank;留空则由轮询支付引擎自动选路 |
out_trade_no | 是 | 商户订单号,需保证唯一 |
notify_url | 是 | 异步回调地址(服务器通知) |
return_url | 否 | 支付完成跳转地址 |
name | 是 | 商品名称 |
money | 是 | 金额,单位元,保留两位小数 |
sign / sign_type | 是 | 签名与签名类型(MD5) |
2.2 签名规则
// 1. 参数名按 ASCII 升序排序;2. 空值与 sign/sign_type 不参与签名;3. 拼接为 a=b&c=d 形式后拼接商户密钥
$str = 'money=100.00&name=VIP会员¬ify_url=...&out_trade_no=20261009001&pid=1001';
$sign = strtoupper(md5($str . $key));
$str = 'money=100.00&name=VIP会员¬ify_url=...&out_trade_no=20261009001&pid=1001';
$sign = strtoupper(md5($str . $key));
2.3 异步回调(notify)
支付成功后平台向 notify_url 发送 GET 请求,附带 trade_no、out_trade_no、money、trade_status=TRADE_SUCCESS、sign。商户验签通过后输出 success 即表示接收成功,否则平台将按 1/2/5/10 分钟间隔重试。
3. 彩虹易支付兼容说明
平台完整兼容彩虹易支付的商户后台接口与插件生态:
- 商户 API 与彩虹易支付 V7 版本参数一致,含
act=order查询与退款查询 - 支持彩虹易支付模板的
/pay/收银台路径跳转 - 原有插件(码支付、免签支付监听等)可直接复用
4. 轮询支付配置
轮询支付引擎按商户设置的通道权重分发订单,并实时监测通道健康度。权重在商户后台「通道管理」中配置:
| 通道 | 权重示例 | 用途 |
|---|---|---|
| 易支付通道 | 40 | 主力收款,成功率高 |
| 码支付通道 | 30 | 小额免签收款 |
| 彩虹易支付通道 | 20 | 备份通道 |
| 免签支付通道 | 10 | 兜底通道 |
当某通道连续失败超过阈值,引擎在约 3 秒内将订单切换至下一可用通道;被标记为故障的通道恢复后自动回归轮询池。
5. 码支付 / 免签支付
码支付与免签支付通过收款码 + 到账监听实现无签约收款:
// 创建一码多付收款码(微信/支付宝/云闪付通用)
POST /api/qrcode/create
{
"pid": 1001,
"money": "99.00",
"out_trade_no": "20261009001",
"sign": "签名"
}
POST /api/qrcode/create
{
"pid": 1001,
"money": "99.00",
"out_trade_no": "20261009001",
"sign": "签名"
}
监听端检测到入账后推送回调,金额指纹 + 订单指纹双重校验,防止金额碰撞导致丢单。
6. 聚合代付 API
聚合代付支持单笔与批量出款,出款通道由系统按到账时效与限额自动路由:
// 发起代付
POST /api/transfer/create
{
"pid": 1001,
"out_biz_no": "DP20261009001", // 商户代付单号
"payee_account": "6222xxxxxxxx1234",
"payee_name": "张三",
"bank_code": "ICBC",
"money": "500.00",
"notify_url": "https://your-site/notify",
"sign": "签名"
}
POST /api/transfer/create
{
"pid": 1001,
"out_biz_no": "DP20261009001", // 商户代付单号
"payee_account": "6222xxxxxxxx1234",
"payee_name": "张三",
"bank_code": "ICBC",
"money": "500.00",
"notify_url": "https://your-site/notify",
"sign": "签名"
}
代付结果通过 notify_url 异步通知(status=SUCCESS / FAIL),全部出款流水自动进入商户聚合对账系统。
7. 商户聚合对账系统对接
| 接口 | 说明 |
|---|---|
/api/recon/summary | 按日获取各通道对账汇总(订单数、金额、差异笔数) |
/api/recon/detail | 拉取逐笔勾兑明细,含订单、回调、到账三方状态 |
/api/recon/diff | 获取差异订单列表,用于人工复核 |
后台亦支持按日 / 周 / 月导出 CSV 报表,可直接导入财务系统。
8. 常见错误码
| code | 含义 | 处理建议 |
|---|---|---|
0 | 成功 | — |
1001 | 签名错误 | 检查密钥与排序拼接规则 |
1002 | 商户不存在或已禁用 | 核对 pid |
1003 | 订单号重复 | 更换 out_trade_no |
2001 | 无可用通道 | 检查通道配置与余额 |
3001 | 代付渠道维护 | 稍后重试或联系商务 |
※ 以上接口与参数为演示样例,实际部署时以平台正式文档为准。