1. 用户上发接口
业务描述:用户A在商户B请求充值,商户B调用本接口,接口返回结果包含一个网址,该网址打开是一个含二维码的页面,用户A使用MPay钱包扫描二维码,扫码成功后,系统会请求回调callBackUrl。用户A完成支付后,商户B钱包增加amount数量币,并扣除手续费;用户A钱包减少amount数量币
`接口地址:{host}/api/v2/merch/user/up `请求方式:GET/POST表单
| 字段 | 类型 | 名称 | 说明 |
|---|---|---|---|
| merchId | Integer | 商户ID | |
| body | String | 加密参数 | 详见表四 |
| t | Integer | 当前时间戳 | |
| key | String | 签名 | Md5(merchId+body+t+md5key) |
参数: 表四:
| 字段 | 类型 | 名称 | 说明 |
|---|---|---|---|
| merchOrderId | String | 商户上发单号 | |
| amount | Integer | 上发金额 | |
| returnUrl | String | 跳转地址 | 非必要,用户扫码支付完成后跳转该网址 |
| callBackUrl | String | 商户自定义回调接口 | 详见用户上发单结果通知 |
| currency | String | 货币的KEY | 非必要,商户会有默认的货币,正常为CNY |
| merchUserId | String | 商户的用户ID | 商户的用户ID(唯一值) |
| remark | String | 备注 | 商户的扩展 |
| title | String | 支付标题 | 支付的标题 |
| userWalletAddress | String | 用户钱包地址 | 非必要 |
| phoneNumber | String | 电话号码 | 非必要,传入值会验证用户电话号码,不匹配则打回请求(注意需要加国家code 如:8613145202569) |
| username | String | 用户真实姓名 | 非必要,传入值会验证用户实名,不匹配则打回请求 |
body生成规则:
`1. base64Decode 公钥 `2. 将表四中参数转为 jsonString
3. 用公钥将jsonString 进行RSA加密(ECB模式,OAEP SHA256对⻬,MGF1填充 )
4. 加密结果base64 Encode即为字符串body
接口响应结果:
| 字段 | 类型 | 名称 | 说明 |
|---|---|---|---|
| code | Integer | 状态码 | 0为请求正常,详见附表 |
| message | String | 消息 | |
| data | 返回内容 | {url:”网址”,id:”上发单订单号”} |