外观
使用沉思波支付
沉思波开放能力(OPC)的支付能力:走码支付聚合收银台(mzf.mapay.cn,易支付系网关),支持支付宝 / 微信扫码付款。能力测试台发 ¥0.01 真实联调单,整条链路——下单 → 收银台 → 异步回调验签落账——与正式接入完全一致,不是模拟器。
一、现场实测(先做这步)
能力测试台 → 「支付」页签 → 选支付宝或微信 → 新标签页打开收银台付款 ¥0.01 → 回到测试台,订单状态自动更新(以异步回调为准,通常数秒内)。
二、协议要点(正式接入前必读)
- 支付方式:
type=alipay(支付宝)/type=wxpay(微信)。 - 下单:表单 POST 到网关
submit.php,参数pid / type / out_trade_no / notify_url / return_url / name / money / sign / sign_type;成功返回 302 跳收银台。 - 签名(⚠️ 与网上常见教程不同):剔除
sign、sign_type与空值参数 → 参数名 ASCII 升序 → 拼k=v&k=v…→ 末尾直接拼密钥(无&key=前缀)→ MD5 → 小写。常见教程的「&key=密钥+ 大写」写法本网关一律回「签名错误」。 - 以异步回调为准:网关 POST
pid / trade_no / out_trade_no / type / money / trade_status / sign…到notify_url;先同算法验签,再核金额与订单号,trade_status=TRADE_SUCCESS才落账,处理成功回纯文本success(否则网关按策略重发)。return_url只做展示跳转,绝不据此开通交付。 - 金额:单位元、字符串(如
0.01);回调金额必须与下单金额逐字一致,否则拒付。out_trade_no全局唯一。
三、安全红线
- 商户密钥(
EPAY_SECRET)只放服务端环境变量(600 权限文件 / 部署配置侧),不进 git / 前端 / 小程序; - 签名只在服务端做,前端零密钥——测试台页面也一样;
- 落账幂等:同一
out_trade_no重复回调只处理一次; - 联调单与正式单同一套验签逻辑,测试通了即接入通了。
四、常见问题
| 现象 | 原因 / 处理 |
|---|---|
| 网关回「签名错误」 | 多半照了网上教程用「&key= + 大写」;改为「末尾裸拼密钥 + MD5 小写」 |
| 付了款状态没变 | 确认 notify_url 公网可达;回调有重发间隔,测试台点「刷新订单」再看 |
| ¥0.01 付给谁了 | 进入平台商户账户;联调单不产生任何交付物 |
| 想测大额 | 不支持:测试台固定 ¥0.01、每日 5 单,防止误付 |

本页讨论
0 条评论还没有评论,来说第一句。