| 下单网关 | https://sf.7788.live/Pay_Index.html |
|---|---|
| 查询网关 | https://sf.7788.live/Pay_Trade_query.html |
| 回调出口 IP | 38.147.171.218 |
| 商户号 / 密钥 | 由平台分配(后台「商户」处查看) |
| 参数 | 说明 |
|---|---|
| pay_memberid | 平台分配的商户号 |
| pay_orderid | 你的订单号(回调和查单原样返回) |
| pay_applydate | 北京时间 YYYY-MM-DD HH:mm:ss |
| pay_bankcode | 产品编号(见第五节表):8001 微信扫码(Native) / 8003 微信客户端内支付(JSAPI) / 8000 微信H5(待备案) / 9000 支付宝H5(手机网站) / 9001 支付宝电脑网站。旧写法 wx / ali / wx-native / ali-h5 等仍兼容 |
| pay_notifyurl | 异步通知地址 |
| pay_callbackurl | 同步跳转地址 |
| pay_amount | 金额(元,两位小数,如 100.00) |
| pay_productname | 商品名称 |
| pay_ip | 下单 IP |
| pay_md5sign | 见下签名规则 |
签名:把 pay_amount / pay_applydate / pay_bankcode / pay_callbackurl / pay_memberid / pay_notifyurl / pay_orderid 去空后按字段名字典序拼成 k=v&,末尾加 &key=密钥,取 MD5 大写。
(平台对大小写宽容:大写/小写都能通过;仍请按上面的 MD5 大写实现,免得以后换平台踩坑。)
成功返回:{"status":"1","h5_url":"收银台地址","order_id":"本平台单号","mch_order_id":"你的单号"}
参数 pay_memberid / pay_orderid / pay_md5sign(只签这两个字段)。
返回 orderstatus = "1" 表示已支付。
支付成功后本平台 POST 到你的 pay_notifyurl(form):
| 字段 | 说明 |
|---|---|
| memberid | 你的商户号 |
| orderid | 你下单时的 pay_orderid |
| amount | 金额(元) |
| datetime | 北京时间 |
| returncode | 固定 00 表示已支付 |
| transaction_id | 三方交易号 |
| sign | MD5 大写(字段清单:amount, datetime, memberid, orderid, returncode, transaction_id) |
处理成功后请返回大写 OK,否则本平台将重试。
下单时 pay_bankcode 填的编号,必须是下表里已开通的「产品编号」,一字不差。
多个产品可以同时运营:下表每个产品各自独立开通、各自一份收款设置(收款码 / 凭证 / 官方接口),开几个都行,互不影响。
| 产品编号 | 名称 | 归属 | 类型 | 金额限制 | 运营状态 |
|---|---|---|---|---|---|
| 8001 | Native支付 | 微信支付 | 扫码支付(Native) | 不限 | 在运营 |
| 8000 | H5支付 | 微信支付 | H5 支付 | 不限 | 未开通 |
| 8003 | JSAPI支付 | 微信支付 | 客户端内支付(JSAPI) | 不限 | 在运营 |
| 9000 | 手机网站支付 | 支付宝 | H5 支付 | 不限 | 在运营 |
| 9001 | 电脑网站支付 | 支付宝 | PC 网页支付 | 不限 | 在运营 |
下单 / 查单都是 HTTP 200 + JSON:status="1" 表示受理成功,status="0" 表示被拒(msg 里是原因)。按下面自查,多数问题自己就能定位。
| 返回 | 原因 / 怎么改 |
|---|---|
| {"status":"0","msg":"不存在的商户编号"} | pay_memberid 写错(必须与平台分配给你的一字不差),或该商户已被停用 |
| {"status":"0","msg":"签名校验失败"} | 签名口径不对。下单只签这 7 个字段:pay_amount / pay_applydate / pay_bankcode / pay_callbackurl / pay_memberid / pay_notifyurl / pay_orderid(去空 → 字段名字典序 → k=v& 拼接 → 末尾 &key=密钥 → MD5 大写)。漏签、多签、拼错顺序、大小写写错都会失败 |
| {"status":"0","msg":"订单号不能为空"} | pay_orderid 必填(你自己的订单号,回调与查单都按它原样返回) |
| {"status":"0","msg":"金额不在允许范围"} | pay_amount 传元、最多两位小数(如 100.00),且在本平台允许的金额区间内 |
| {"status":"0","msg":"金额低于/超过产品…下限/上限"} | 该产品单独设了金额限制(见第五节「金额限制」列),把金额调到区间内再下单 |
| {"status":"0","msg":"不存在的产品编号:X"} | pay_bankcode 填错 —— 请填第五节表里已开通的编号 |
| {"status":"0","msg":"(其它说明)"} | 产品已开通但还在配置中(收款码 / 凭证未就绪),平台会说明具体差什么;稍后重试或联系平台 |
| 查单 {"status":"0","msg":"订单不存在"} | 查单只认你下单时提交的 pay_orderid,对不上就查不到 |