首页 / 开发文档

开发文档 · Integration Guide

一套 API 覆盖收款、出款、对账。已基于易支付或彩虹易支付开发的系统,把网关地址与密钥换成恒岳的即可完成迁移。

1. 接入准备

注册 → 实名认证 → 控制台领取 PID 与 KEY。所有接口走 HTTPS,UTF-8,金额单位元(两位小数)。

生产网关 https://api.your-domain.com/ 商户控制台 https://mer.your-domain.com/ PID = 20260001 KEY = ************************(建议 90 天轮换)

2. 统一下单

接口 /pay/submit。兼容易支付核心参数,新增扩展字段 poll_rule(轮询策略)与 multi(一码多付开关)。

参数必填说明
pid是商户 ID
out_trade_no是商户订单号(唯一)
type是wxpay / alipay / unionpay / multi
money是金额,两位小数
notify_url是异步通知地址
poll_rule否轮询策略 JSON,见第 3 节
sign是MD5 签名(见第 6 节)
// 成功响应 { "code": 0, "pay_url": "https://pay.your-domain.com/c/HY8f3a…", // 收银台跳转 "qr_code": "https://qr.your-domain.com/HY8f3a….png", // 二维码图 "channel": "alipay#02" // 轮询命中的通道 }

3. 轮询支付策略

恒岳轮询支付支持三种策略,可组合使用;命中通道后仍保留备用链路,失败自动切换。

策略字段值适用场景
权重轮询weight均衡消耗各通道额度,降低风控集中度
金额分流amount大额走稳定通道,小额走低费率通道
时段路由time按小时段启停通道(如凌晨只留骨干)
// poll_rule 示例 { "strategy": "weight", "channels": [ {"id": "alipay#02", "weight": 40}, {"id": "epay#01", "weight": 35}, {"id": "free#03", "weight": 25} ], "breaker": {"fail_rate": 0.05, "cooldown": 600}, "fallback": true }

4. 码支付 / 免签支付

码支付:控制台上传收款码 → 生成聚合码,用户扫码自动识别通道(一码多付),到账触发语音播报与回调。

免签支付:绑定收款账号开启监听,无需签约。回调结构与易支付一致,验签代码可直接复用。

// 免签支付状态查询 GET /pay/status?out_trade_no=HY…&sign=… 响应:{"trade_status": "TRADE_SUCCESS", "paid_at": "2026-10-09 14:02:11"}

5. 聚合代付

接口 /pay/dp。出款前请确保账户余额充足;同名强校验,回执与银行电子回单自动归档进对账系统。

参数必填说明
out_biz_no是商户出款单号(唯一)
account是收款银行卡号
name是收款人姓名(强校验)
amount是出款金额
memo否附言,出现在回单
POST /pay/dp out_biz_no=DP20261009-001&account=6222…&name=张三 &amount=23600.00&sign=… 响应:{"code":0,"status":"PROCESSING","dp_id":"HYDP…"} 异步通知:status → SUCCESS / FAIL(附银行回执号)

6. 验签与回调四原则

签名:参数 ASCII 升序 → a=1&b=2… → 尾拼 KEY → MD5 小写。回调处理务必遵守:

① 验签 核对 sign,防伪造请求 ② 验额 核对 money 与本地订单一致,防篡改 ③ 幂等 同一 out_trade_no 只入账一次 ④ 应答 输出 "success"(否则网关按 15s/1m/5m/30m 重试)

7. 错误码

code含义处理
0成功—
40001签名错误检查 KEY 与排序规则
40002订单号重复out_trade_no 保持唯一
41001代付余额不足充值后再发起
42001全部通道熔断稍后重试或联系技术
42002金额超通道限额调整 poll_rule 或金额

去支付实验室跑一遍 →