1. 创建订单请求
业务描述:该接口需要主动配置回调的url 提供回调的订单号,回调的url ,以及跳转的url,有我房主动发起订单的请求,然后做一个回调的通知,如果没有配置对应的回调函数,将会按照我方的规则生成对应的订单。
主动请求数据:
| 字段 | 类型 | 名称 | 说明 |
|---|---|---|---|
| amount | Integer | 充值金额 | 用户充值的金额 |
| userWalletAddress | String | 钱包地址 | 用户的钱包地址 |
| remark | String | 备注 | |
| merchUserId | String | 商户的用户id | 可在充值的时候由贵司传过来 |
| merchName | String | 商户名称 | |
| sign | String | 签名 |
返回数据结果:
| 字段 | 类型 | 名称 | 说明 |
|---|---|---|---|
| code | Integer | 状态码 | 0为请求正常 |
| message | String | 消息 | |
| data | 返回内容 | 见下表 |
data:
| 字段 | 类型 | 名称 | 说明 |
|---|---|---|---|
| merchOrderId | String | 商户上发单号 | |
| callBackUrl | String | 商户自定义回调接口 | 详见用户上发单结果通知 |
| merchUserId | String | 商户的用户ID | 商户的用户ID(唯一值) |
参数(form表单):
验证sign规则:
1.将表单除sign以外的信息简化为map键值对
2.将键值对以key的名称正序排序
`以字母表排序则排序为 例子: `排序前: merchUserId => “user0000005”
address => “address00000005"
排序后: address => “address00000005"
merchUserId => “user0000005”
3.按照排列好的顺序编码为get请求格式
例子:address=address00000005&merchUserId=user0000005
`4.在get请求字符串后直接拼接上商户信息中的md5key 字符串 得到签名源 `例如md5key 值为 merchmd5Key
例子:address=address00000005&merchUserId=user0000005merchmd5Key
5.将第四步的结果进行md5加密,得到最终签名值 ownSign
6.验证收到的sign和自己计算签名值ownSign是否一致,一致则为可信任通知请求