网关版本 v3.0 · 完全兼容易支付协议 · 彩虹易支付插件可直接对接
首页 / 开发文档

开发文档 · API Reference

一套 API 覆盖收款、代付、对账三大场景。若你的系统已基于易支付或彩虹易支付开发,仅需替换网关地址与密钥即可完成迁移。

1. 快速开始

注册商户 → 实名认证 → 控制台获取 PID 与 商户密钥 → 按下方协议提交订单。全部接口均为 HTTPS GET/POST,编码 UTF-8,响应 JSON。

网关地址:https://api.your-domain.com/ 商户后台:https://mer.your-domain.com/ PID = 1001(控制台获取) KEY = 商户密钥(请勿泄露,支持定期轮换)

2. 易支付协议(兼容易彩虹易支付)

下单接口 /submit.php,参数与标准易支付完全一致;彩虹易支付插件生态可直接对接。

参数必填说明
pid是商户 ID
type是wxpay / alipay / bank / 一码多付填 multi
out_trade_no是商户订单号,唯一
notify_url是异步回调地址
return_url否支付完成跳转地址
name / money是商品名称 / 金额(两位小数)
sign / sign_type是MD5 签名 / 固定 MD5
签名算法 1. 参数按 ASCII 升序排列 2. 拼接 a=val&b=val…(剔除 sign/sign_type/空值) 3. 尾部拼接 KEY 后 MD5,取小写 sign = md5("money=100.00&name=VIP&out_trade_no=LY123…&pid=1001" + KEY)

3. 轮询支付配置

在商户后台「通道管理」中为每个通道设置权重、限额与健康度。也可在提交订单时通过扩展参数指定分流策略。

// 扩展参数 poll_rule(JSON,可选) { "strategy": "weight", // weight 权重轮询 | amount 金额分流 | time 时段 "fallback": true, // 失败自动切换备用通道 "max_retry": 2 // 最大重试次数 }

触发条件建议:通道失败率 > 5% 自动熔断 10 分钟;恢复后自动回归轮询池并邮件通知。

4. 码支付 / 免签支付接入

码支付:上传收款码后生成聚合码,用户扫码自动识别微信/支付宝/云闪付(一码多付),到账后语音播报并回调。

免签支付:绑定收款账号开启监听,无需签约第三方。回调报文与易支付协议一致,可直接复用验签代码。

// 免签到账回调示例 GET {notify_url}?pid=1001&trade_no=TRK…&out_trade_no=LY123… &money=66.50&trade_status=TRADE_SUCCESS &sign=md5(…)&sign_type=MD5 处理原则:验签通过 → 幂等入库 → 返回 "success"(其余文案视为失败会重试)

5. 聚合代付 API

接口 /mapi.php?action=payout,支持单笔与批量出款到银行卡,异步返回出款回执。

参数必填说明
out_biz_no是商户出款单号,唯一
payee_account是收款银行卡号
payee_name是收款人姓名(强力校验)
bank_code否银行编码,空则自动识别
amount是出款金额(元)
curl -X POST https://api.your-domain.com/mapi.php \ -d "action=payout&pid=1001&out_biz_no=PO20261009…" \ -d "payee_account=6222…&payee_name=张三&amount=23600.00" \ -d "sign=…&sign_type=MD5" 响应:{"code":0,"msg":"受理成功","trade_no":"DF…","status":"PROCESSING"}

6. 回调与验签

所有回调均带 sign,验签算法与下单一致。务必:① 校验签名 ② 校验金额 ③ 幂等处理 ④ 返回 success。未收到商户返回时,网关按 15s/1m/5m/30m 共 4 次重试。

7. 错误码对照表

code含义处理建议
0成功—
1001签名错误检查 KEY 与排序拼接
1002订单号重复out_trade_no 必须唯一
1003余额不足(代付)先充值或降低出款金额
2001通道熔断中轮询已自动切换,稍后查询结果
2002金额超限调整通道限额配置

前往在线测试台体验 →