服务邮箱
support@lazypayer.com
使用规则
定义 | 描述 |
---|---|
传输方式 | 为保证交易安全性,采用HTTPS传输 |
提交方式 | 采用POST方法提交 |
字符编码 | 统一采用UTF-8字符编码 |
签名算法 | MD5加密 |
签名要求 | 请求和接收数据均需要校验签名,方法请参考签名算法 |
判断逻辑 | 先判断协议字段返回,再判断业务返回 |
签名算法
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序)
第二步,将ASCII排序后的参数取参数值拼接起来(即value1value2value3)拼接成字符串stringA。
特别注意以下重要规则:
◆ 参数名ASCII码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
第三步,在stringA拼接上 应用密钥 得到stringSignTemp字符串,并对stringSignTemp进行MD5运算(32位小写),将结果赋值给sign。
应用密钥 从后台获取
1、假设传送的参数:
order_num:10000
order_title:测试标题
order_price:100
order_remark:测试
2、第一步:按照参数名ASCII字典序排序:
order_num:10000
order_price:100
order_remark: 测试
order_title:测试标题
3、将ASCII字典序排序后的参数取参数值依次拼接成字符串:stringA = “10000100测试测试标题”
4、拼接应用密钥 并完成MD5加密:stringSignTemp = stringA + 应用密钥//注:拼接应用密钥在后台获取 sign = md5(stringSignTemp)
5、最后结果
order_num:10000
order_price:100
order_remark: 测试
order_title:测试标题
sign: faf063148d2f7ed88c73aa66b7e19be2
统一下单
请求地址
环境 | HTTPS请求地址 |
---|---|
正式环境 | https://xx.com/core/api/request/pay/ |
参数名 | 类型 | 是否必填 | 最大长度 | 解释 | 示例值 |
---|---|---|---|---|---|
app_id | String | 是 | 9 | 商户ID | 10000 |
order_title | String | 是 | 80 | 商户自定义订单标题 | 测试标题 |
order_price | Int | 是 | 9 | 交易金额(单位分) | 500 |
order_num | String | 是 | 255 | 商户自主生成的订单号 | 201702080118441263011007 |
order_remark | String | 否 | 255 | 商户自定义附加数据 | test |
notify_url | String | 是 | 255 | 服务器异步通知 | https://xx.cn/notify/ |
return_url | String | 是 | 255 | 客户端同步跳转 | https://xx.cn/return/ |
sign | String | 是 | 45 | MD5签名查看算法 | 5879063c6a8592ada2e96525aad347c0 |
MD5签名:
按照参数名ASCII字典序排序具体参考签名算法:
支付结果通知
请使用POST方法接受以下返回的订单参数
参数 | 类型 | 返回值解释 |
---|---|---|
order_num | String | 商户自主生成的订单号 |
pay_source | String | 用户付款金额(单位分) |
order_remark | String | 备注 |
order_price | String | 订单金额 分 |
sign | String | 回调签名 查看算法 |