支付接口开发文档

本系统兼容易支付(彩虹版)协议,收款渠道为支付宝官方开放平台接口,订单到账通过异步通知(回传)实时推送。

一、对接信息

登录后在「用户中心」获取你的 商户PID商户密钥(KEY)。接口网关为:

https://www.8ue.top
接口地址说明
页面跳转支付/submit.php浏览器跳转到收银台
API 发起支付/mapi.php返回二维码/支付链接(JSON)
订单查询/api.php查询订单/商户信息
异步通知你的 notify_url支付成功后服务端回传

二、签名算法(MD5)

  1. 将所有参数(signsign_type 及空值除外)按参数名 ASCII 升序排序;
  2. key=value&key=value 形式拼接(不进行 URL 编码);
  3. 在拼接串末尾直接追加商户密钥 KEY;
  4. 对整体做 MD5,得到 32 位小写字符串即为 sign
// 伪代码
params = {pid, type, out_trade_no, name, money, notify_url}
sorted = sort_by_key(filter_empty(params))
str = "money=1.00&name=...¬ify_url=...&out_trade_no=...&pid=...&type=alipay"
sign = md5(str + KEY)

三、页面跳转支付 /submit.php

构造表单提交或 GET 跳转,用户将进入收银台扫码支付。

参数必填说明
pid商户PID
type支付方式:alipaywxpay
out_trade_no商户订单号(唯一)
notify_url异步通知地址
return_url支付完成跳转地址
name商品名称
money金额,单位元,两位小数
sign签名
sign_type固定 MD5

四、API 发起支付 /mapi.php(POST)

参数同上。返回 JSON:

{
  "code": 1,
  "msg": "success",
  "trade_no": "本平台订单号",
  "payurl": "https://www.8ue.top/cashier/xxxx",
  "qrcode": "https://qr.alipay.com/xxxxx"
}

code=1 成功。可将 qrcode 生成二维码展示,或引导用户访问 payurl

五、异步通知(回传监听)

支付成功后,平台收到支付宝的官方异步通知并验签,再以 GET 方式回传到你的 notify_url

参数说明
pid商户PID
trade_no平台订单号
out_trade_no商户订单号
typealipay
name商品名称
money金额
trade_status固定 TRADE_SUCCESS
sign / sign_type签名 / MD5

你的服务端须先验签,校验通过后处理业务,并 原样输出字符串 success。否则平台会按策略重试通知。

六、订单查询 /api.php(GET)

https://www.8ue.top/api.php?act=order&pid=商户PID&key=商户密钥&out_trade_no=商户订单号

返回 status=1 表示已支付,0 表示未支付。

七、支付宝开放平台配置(免挂码核心)

本系统通过 支付宝开放平台 的官方接口收款,需在后台完成:

完整对接步骤见项目根目录的 docs/API.mdREADME.md

八、微信收款(个人码 / 商家码 / 官方商户)

下单与支付宝一致,仅 type 改为 wxpay。平台支持三种微信收款:

类型到账方式说明
微信个人码监听端上报(免挂码)个人微信收款码 + 监听软件
微信商家收款码监听端上报(免挂码)经营码/商家码 + 监听软件
微信官方商户APIv3 Native 官方异步通知已有微信支付商户号

监听码原理:个人/商家码无官方查单接口,故下单时对金额做浮动去重(如 1.00 / 1.01),收银台展示固定码 + 精确应付金额;收款手机/PC 上的监听端收到到账后按金额上报,服务器自动匹配订单。/mapi.php 对监听码会额外返回 realmoney(买家实际应付金额)。

监听端接口(鉴权 cid + key,在后台通道列表「监听端」按钮获取):

接口参数说明
/api/monitor/heartbeatcid, key心跳保活(<5分钟一次)
/api/monitor/orderscid, key拉取待支付订单及应付金额
/api/monitor/notifycid, key, money上报到账金额,匹配订单
/api/monitor/report/<cid>key, content提交微信通知JSON,自动解析金额

监听端示例见 examples/wx_monitor.py;微信官方商户回调地址:https://www.8ue.top/notify/wxpay