对接文档

SELF26-UI-20261109

一、对接信息

下单网关https://sf.7788.live/Pay_Index.html
查询网关https://sf.7788.live/Pay_Trade_query.html
回调出口 IP38.147.171.218
商户号 / 密钥由平台分配(后台「商户」处查看)

二、下单 POST /Pay_Index.html(form)

参数说明
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":"你的单号"}

三、查询 POST /Pay_Trade_query.html(form)

参数 pay_memberid / pay_orderid / pay_md5sign(只签这两个字段)。

返回 orderstatus = "1" 表示已支付。

四、异步通知

支付成功后本平台 POST 到你的 pay_notifyurl(form):

字段说明
memberid你的商户号
orderid你下单时的 pay_orderid
amount金额(元)
datetime北京时间
returncode固定 00 表示已支付
transaction_id三方交易号
signMD5 大写(字段清单:amount, datetime, memberid, orderid, returncode, transaction_id)

处理成功后请返回大写 OK,否则本平台将重试。

五、支付产品(pay_bankcode = 产品编号)

下单时 pay_bankcode 填的编号,必须是下表里已开通的「产品编号」,一字不差。
多个产品可以同时运营:下表每个产品各自独立开通、各自一份收款设置(收款码 / 凭证 / 官方接口),开几个都行,互不影响。

产品编号名称归属类型金额限制运营状态
8001Native支付微信支付扫码支付(Native)不限在运营
8000H5支付微信支付H5 支付不限未开通
8003JSAPI支付微信支付客户端内支付(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,对不上就查不到