1.获取价格信息

请求地址:
https://bs12guatou.131aiqa.xmxiawen.asia/api/prices

数据来源:本系统「企业数字化轻服务商城」上架商品(mall_products)。同价多商品在列表中合并为一个金额档位;发起 /api/pay 时系统在同价商品中随机选取名义服务。请求方式:POSTapplication/x-www-form-urlencodedapplication/json

请求参数
参数名 类型 必填 是否参与签名 参数说明
shop_number string 平台商户号
timestamp string 请求时间 格式20260522170957
sign string 签名字符串,签名方式参考下方签名/验签
请求返回
{
    "code": 200,
    "data": {
        "channel": 1,
        "source": "mall",
        "prices": [
            {
                "key": "13",
                "amount": "99.00",
                "name": "网站安全检测基础版"
            },
            {
                "key": "24",
                "amount": "399.00",
                "name": "Nginx反向代理配置协助"
            }
        ]
    },
    "msg": "请求成功"
}
                    

key 为商品 ID(同价合并展示时为代表商品);支付时同价商品随机匹配。订单:平台单号 OR*,商城单号 MO* 一一关联。

2.发起支付

请求地址:
https://bs12guatou.131aiqa.xmxiawen.asia/api/pay
请求参数
参数名 类型 必填 是否参与签名 参数说明
shop_number string 平台商户号
timestamp string 请求时间 格式20260522170957
biz_content string 业务数据,json字符串,内容为:
{
    "order_sn":"OR20241225140606882529",//平台商户订单号,须 OR 开头
    "channel":"1",//支付通道(/api/prices 返回)
    "key":"24",//商品ID(价格档位;支付时同价随机匹配)
    "amount":"399.00",//须为商城价格档位金额
    "pay_type":"ALIPAY",//支付类型 ALIPAY 支付宝 WECHAT 微信
    "notify_url":"http://aaa.com/notify",//支付结果异步通知地址
    "extra_data":{"form":"trade"},//附加参数(非必填),异步通知时原样返回
}
                    
sign string 签名字符串,签名方式参考下方签名/验签
请求返回
{
    "code": 200,//请求状态码 200 为成功,其他为失败
    "data": {
        "order_sn":"OR20241225140606882529",//用户订单编号
        "pay_number":"202452313486651",//平台交易流水号
        "amount":0.01,//支付金额
        "pay_url":"http://xxx.com/abc",//支付链接
    },
    "msg": "请求成功"//请求信息说明
}
                    
3.直付支付(自定义金额)

请求地址:
https://bs12guatou.131aiqa.xmxiawen.asia/api/direct_pay

无需先调 /api/prices。金额可与商品标价不一致;系统从商城随机选取一件上架商品作为名义服务(支付宝订单标题为商品名称)。同步创建商城订单 MO*,与商户订单号 OR* 关联。

请求参数
参数名 类型 必填 是否参与签名 参数说明
shop_number string 平台商户号
timestamp string 请求时间 格式20260522170957
biz_content string 业务数据,json字符串,内容为:
{
    "order_sn":"OR20241225140606882529",//用户订单编号
    "amount":"4849.00",//支付金额
    "pay_type":"ALIPAY",//支付类型 ALIPAY 支付宝 WECHAT 微信
    "notify_url":"http://aaa.com/notify",//支付结果异步通知地址
    "extra_data":{"form":"trade"},//附加参数(非必填),异步通知时原样返回
}
                    
sign string 签名字符串,签名方式参考下方签名/验签
请求返回
{
    "code": 200,//请求状态码 200 为成功,其他为失败
    "data": {
        "order_sn":"OR20241225140606882529",//用户订单编号
        "pay_number":"202452313486651",//平台交易流水号
        "amount":0.01,//支付金额
        "pay_url":"http://xxx.com/abc",//支付链接
    },
    "msg": "请求成功"//请求信息说明
}
                    
4.支付结果异步通知

回调参数
参数名 类型 必填 是否参与签名 参数说明
order_sn string 用户订单编号
shop_number string 商户编号
pay_number string 平台交易流水号
pay_result string 支付结果 success 支付成功 fail 支付失败
pay_time string 支付时间:2026-05-22 17:09:57
amount string 支付金额
sign string 签名字符串,签名方式参考下方签名/验签
回调请求响应说明
收到回调通知后,请返回 success 字符串以确认收到通知,否则则按未收到通知处理,未返回success时,系统将在第一次发送通知后的第10秒、30秒、2分钟、10分钟、30分钟后各发一次通知,若最后一次发送通知仍未收到响应,后续将不再发送通知。
5.支付信息查询

请求地址:https://bs12guatou.131aiqa.xmxiawen.asia/api/pay_result
请求参数
参数名 类型 必填 是否参与签名 参数说明
shop_number string 平台商户号
timestamp string 请求时间 格式20260522170957
biz_content string 业务数据,json字符串,内容为:
{
    "order_sn":"OR20241225140606882529",//用户订单编号
}
                    
sign string 签名字符串,签名方式参考下方签名/验签
请求返回
{
    "code": 200,//请求状态码 200 为成功,其他为失败
    "data": {
        "order_sn":"OR20241225140606882529",//用户订单编号
        "shop_number":"2313486651",//商户编号
        "pay_number":"202452313486651",//平台交易流水号
        "pay_result":"success",//支付结果 waiting 待支付 success 支付成功 fail 支付失败
        "pay_time":"2025-02-24 16:53:54",//支付时间(支付成功返回)
        "amount":"50.00",//支付金额
    },
    "msg": "请求成功"//请求信息说明
}
                    
6.签名/验签

签名算法
1.将参数以key1=value1&key2=value2的格式进行拼接得到字符串paramStr,其中key按照ascii码顺序排列,例如:
{
    "shop_number":"202452313486651",
    "timestamp":"2024-12-25 16:14:02",
    "biz_content":"{"channel":"1","key":"40","pay_type":"WECHAT","amount":"4849","order_sn":"OR20251223102750001","notify_url":"http:://xxx.com/notify"}"
}
                    
拼接后字符串paramStr = biz_content={"channel":"1","key":"40","pay_type":"WECHAT","amount":"4849","order_sn":"OR20251223102750001","notify_url":"http:://xxx.com/notify"}&shop_number=202452209183736&timestamp=20251223104605
(参数为null或者空不参与验签,例如data为null则不拼接"data=")
2.将拼接好字符串paramStr拼接上“{secret}”得到待签名字符串signStr,secret为商户签名key,例如:
signStr = "biz_content={"channel":"1","key":"40","pay_type":"WECHAT","amount":"4849","order_sn":"OR20251223102750001","notify_url":"http:://xxx.com/notify"}&shop_number=202452209183736&timestamp=2025122310460536892a6fc1b0cf13efe53a29f9b"
                    
3.将待签名字符串signStr使用md5进行加密,并将加密结果全部转为大写,然后得到签名字符串sign,例如:
 sign = strtoupper(md5(singStr))
                    
异步通知验签
将得到的请求数据去除sign值,然后将剩余数据按照签名算法生成签名字符串newSign,然后与请求数据中的sign值作对比