易支付 V1 兼容接入
已对接过易支付的系统(发卡网、One-API/New-API、各类商城插件)无需改代码: 把网关地址、商户 ID(pid)、商户密钥(key)换成本平台的即可。 需平台运营为商户开通易支付接入并下发 pid/key。
网关地址
| 用途 | 地址 | 方式 |
|---|---|---|
| API 下单(返回支付链接/二维码) | https://linglongpay.app/mapi.php | POST(IP 白名单) |
| 页面下单(浏览器跳转收银台) | https://linglongpay.app/submit.php | GET / POST |
| 综合接口(查单/退款/结算等) | https://linglongpay.app/api.php | GET / POST(IP 白名单) |
只要求填一个「网关地址」的系统,填 https://linglongpay.app 即可。签名方式选 MD5,协议版本选 易支付 V1 / 彩虹易支付。
签名算法(四步)
- 剔除
sign、sign_type与值为空的参数 - 按参数名 ASCII 升序排列
- 拼接
k1=v1&k2=v2,值不做 URL 编码(中文、://用原文) - 末尾直接追加商户密钥(无分隔符),MD5 取 32 位小写
clientip=1.2.3.4&money=1.00&name=VIP会员¬ify_url=https://shop.com/notify &out_trade_no=MCH20260728001&pid=100001&return_url=https://shop.com/return&type=alipay + 商户密钥 → md5 → 77c46b1a2cb7063f4d01003379863f5e
下单与通知
- 支付方式:
alipay/wxpay/qqpay,映射到商户绑定的对应产品 mapi.php响应payurl/qrcode/urlscheme三者只返回其一,请都做兼容- 异步通知:支付成功后以 GET 请求
notify_url,参数含trade_status=TRADE_SUCCESS与 MD5 签名; 处理成功只输出success(或ok),否则按退避重试 - 验签使用 URL 解码后的参数值;发货必须做幂等(同一 out_trade_no 多次通知只发货一次)
- 错过通知可调
api.php?act=notify自助补发
综合接口 act 一览
| act | 说明 | 成功码 |
|---|---|---|
order | 查单(trade_no / out_trade_no 二选一);status 1=支付成功 | 1 |
orders | 批量查单(limit ≤50,page 从 1) | 1 |
query | 账户余额与今日/昨日订单数 | 1 |
settle | 结算记录(最近 50 条) | 1 |
refund | 退款(money 必填) | 0(V1 协议怪癖) |
notify | 补发通知(平台扩展) | 1 |
与易支付原版的差异(安全强化)
act=query 不回显商户密钥(原版会返回 key 字段用于「测试连接」比对)。 本平台该字段返回空字符串——若对接系统的「测试连接」依赖 key 回显,请直接保存配置后用真实下单验证。 另:mapi.php 仅支持 POST;GET 方式的 submit.php 会在错误页提示安全警告。排错指引
- 签名不一致:最常见是对参数值做了 URL 编码,或把空参数算进了签名串
非法请求,请添加接口IP白名单:联系运营将服务器公网出口 IP 加入白名单(submit.php 不受限)- 偶发验签失败:检查商品名是否含首尾空格/特殊字符,发送值必须与签名值完全一致
- 返回
易支付兼容层未启用:联系运营开启平台开关与商户开通