API开发文档简介
本文阅读对象:使用 云擎免签支付 商户自服务系统的技术架构师、研发工程师、系统运维工程师。通过本文档,商户可了解 云擎免签支付 接入的技术、接入的产品业务、接入的流程、接入规范等信息,以便于商户顺利完成接入工作。
接入网关
http://www.xyclub.cn
统一下单接口
提交方式:POST
地址: 接入网关/createOrder
| 参数名称 |
参数含义 |
是否必填 |
参与签名 | 参数说明 |
| uid |
商户号 |
是 |
是 |
平台分配商户号 |
| type |
支付方式 |
是 |
是 |
1 支付宝 2 微信 3 支付宝[免挂] |
| param |
附加参数 |
否 |
是 |
请勿使用符号如 & = $等以及update insert select等敏感词汇 |
| out_trade_no |
订单号 |
是 |
是 |
订单号唯一, 字符长度32 |
| notify_url |
服务端通知 |
是 |
是 |
服务端返回地址.(POST返回数据) |
| return_url |
页面跳转通知 |
是 |
是 |
页面跳转返回地址(GET返回数据) |
| price |
订单金额 |
是 |
是 |
单位:元 |
| timestamp |
时间戳 |
是 |
是 |
10位数时间戳 |
| isHtml |
返回类型 |
是 |
是 |
1 返回url 2 返回json |
| sign |
MD5签名 |
是 |
否 |
请查看签名算法 |
当 isHtml为 1 返回值
| 参数名称 |
参数含义 |
是否必填 |
参数说明 |
| code |
请求状态 |
是 |
200正确 其余状态均为错误 |
| msg |
返回信息 |
是 |
返回提示信息 |
| data |
订单信息(数据类型:集合) |
是 |
|
返回值data参数
| 参数名称 |
参数含义 |
参数说明 |
| url |
地址 |
全地址 跳转即可 |
当 isHtml为 2 返回值
| 参数名称 |
参数含义 |
是否必填 |
参数说明 |
| code |
请求状态 |
是 |
200正确 其余状态均为错误 |
| msg |
返回信息 |
是 |
返回提示信息 |
| data |
订单信息(数据类型:集合) |
是 |
|
返回值data参数
| 参数名称 |
参数含义 |
参数说明 |
示例 |
| uid |
用户id |
是 |
1 |
| out_trade_no |
订单号 |
是 |
E16221729054779129835659 |
| type |
支付方式 1支付宝 2微信 |
是 |
1 |
| price |
订单金额 |
是 |
0.01 |
| reallyPrice |
真实金额 (支付需以真实金额为准) |
是 |
0.01 |
| qrCode |
二维码(文本 需转码) |
是 |
https://qr.alipay.com/fkx19010tsh9emr5buozr1b |
| isAuto |
是否固定金额 |
1 是 0否 |
1 |
| status |
支付状态 |
0待支付 -1 支付关闭 1已支付 |
0 |
| closeTime |
订单关闭时间 |
是 |
1622172977 |
| createTime |
订单创建时间 |
是 |
1622172917 |
异步通知
提交方式:POST
接收到服务器点对点通讯时,在页面输出“OK”( 没有双引号,OK 两个字母大写 ) ,否则会重复3次发送点对点通知.
| 参数名称 |
参数含义 |
是否必填 |
参与签名 | 参数说明 |
| uid |
商户编号 |
是 |
是 |
平台分配商户号 |
| out_trade_no |
订单号 |
是 |
是 |
上送订单号唯一, 字符长度20 |
| price |
订单金额 |
是 |
是 |
单位:元 |
| reallyPrice |
订单真实金额 |
是 |
是 |
单位:元 |
| trade_no |
交易流水号 |
是 |
是 |
交易流水号 |
| timestamp |
异步时间 |
是 |
是 |
10位数时间戳 |
| code |
交易状态 |
是 |
是 |
-1过期 0待支付 1完成 2通知失败 3待通知 |
| type |
支付方式 |
是 |
是 |
1 支付宝 2 微信 3 支付宝[免挂] |
| param |
扩展返回 |
是 |
是 |
商户附加数据返回 |
| sign |
MD5签名 |
是 |
否 |
|
订单查询接口
提交方式:POST
地址: 接入网关/orderQuery
| 参数名称 |
参数含义 |
是否必填 |
参与签名 | 参数说明 |
| uid |
商户编号 |
是 |
是 |
|
| out_trade_no |
商户订单号 |
是 |
是 |
|
| timestamp |
时间戳 |
是 |
是 |
10位数时间戳 |
| sign |
MD5签名 |
是 |
是 |
|
返回值
| 参数名称 |
参数含义 |
是否必填 |
参数说明 |
| code |
请求状态 |
是 |
200正确 其余状态均为错误 |
| msg |
返回信息 |
是 |
返回提示信息 |
| data |
订单信息(数据类型:集合) |
是 |
|
返回值data参数
| 参数名称 |
参数含义 |
参数说明 |
| out_trade_no |
商户订单号 |
|
| trade_no |
平台订单号 |
|
| price |
订单金额 |
单位:元 |
| type |
支付方式 |
1 支付宝 2 微信 3 支付宝[免挂] |
| payTime |
支付成功时间 |
|
| status |
支付状态 |
1完成 2通知失败 3待通知 |
订单状态查询接口
提交方式:POST
地址: 接入网关/checkOrder
| 参数名称 |
参数含义 |
是否必填 |
参与签名 | 参数说明 |
| out_trade_no |
商户订单号 |
是 |
是 |
|
返回值
| 参数名称 |
参数含义 |
是否必填 |
参数说明 |
| code |
请求状态 |
是 |
200正确 其余状态均为错误 |
| msg |
返回信息 |
是 |
返回提示信息 |
| data |
订单信息(数据类型:集合) |
是 |
|
返回值data参数
| 参数名称 |
参数含义 |
参数说明 |
| out_trade_no |
商户订单号 |
|
| trade_no |
平台订单号 |
|
| price |
订单金额 |
单位:元 |
| type |
支付方式 |
1 支付宝 2 微信 3 支付宝[免挂] |
| payTime |
支付成功时间 |
|
| status |
支付状态 |
1完成 2通知失败 3待通知 |
签名算法
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串。
第二步,在stringA最后拼接上应用key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
md5('isHtml=1&notify_url=异步地址&out_trade_no=123¶m=0&price=1&return_url=同步地址×tamp=时间戳&type=1&uid=1&key=密钥')
app监控
手机设置步骤(教程为MIUI系统,非MIUI系统请参考教程进行设置)
1.关闭系统神隐模式
(旧版MIUI系统)在系统【设置】 - 【其他高级设置】 - 【电量与性能】 - 【神隐模式】 - 【云擎免签监控端】设置为关闭
(新版MIUI系统)在系统【设置】 - 【其他高级设置】 - 【电量与性能】 - 【省电优化】 - 【应用智能省电】,将云擎免签监控端、微信、支付宝的3个APP全都改为无限制
2.添加内存清理白名单
3.关闭WIFI优化
(旧版MIUI系统)在系统【设置】 - 【WLAN】 -【高级设置】 -【WLAN优化】,关闭它。
(新版MIUI系统)在系统【设置】 - 【WLAN】 -【高级设置】 - 【在休眠状态下保持WLAN网络连接】改为“始终”
4.开启推送通知
5.系统【设置】 - 【通知和状态栏】 - 【通知管理】中,找到这3个App,把里面的开关全部打开
6.在微信的【设置】 - 【勿扰模式】中,关闭勿扰模式
7.在微信的公众号,关注 【微信收款助手】 这个公众号
8.在支付宝的主页,上方搜索框 搜索 【支付助手】 ,进入支付助手,右上角小齿轮,打开【接收付款消息提醒】