乐陪接收推送数据接口
**一、接口使用指南**
> <span style="color:red;">乐陪提供接口,按schoolid进行的接口地址的区分</span>
推送的参数用RSA加密,推送方用私钥加密后,接收方使用推送方提供的公钥解密,解密后的数据格式为json格式。
示例:
1.推送接口由推送方请求,post类型,请求体内容为:
{
"params":订单对象json字符串加密
}
以消费数据推送订单为例:
```json
{"params":"d7RamNT6Wj127cXy5uMzVPIN6Tl/Gui2/hLsPtSAmNKw2ReX9mcdgCWXWG7E61U/MXJX7RQHcwlMZ4qrlDu+DMgKxLbUcvqaMJn3E5uiIcR3dyJ7/U1Uq4iWl/rlIEhI7wfoZRN/iMUAceC2baFNC0mjRC5hlnosAHSivfuycH8zAosmpNQwMzu1BbeLt2SnQnMNluhkbJQbuRVo2rScPlAreiPog+QE7ScGxf6e505huwlzsLpCxOQyRp/QQu97WKLrCvM60L+wovpLmhvmGFW5j3O4MqcnUg0ISVJptFZk2bEIkJs6p+3Ja7z+lkRF/tu9fX7/urTlug2csitU9k+dLxIZFisAZW4QQgGbeoaCT901uXv61p6cF1yDRCaFZyzpZm4m97IV65jaqnZrzJ7xHrzo1rdMMWI/oaxYi1Tu0Xt6SE4Lg+nMkkymy59v6RNUITf6S0i6f+vB+NACZN7pIRf38rVSM/6OxAVb6vsMejESjbUa8lKL/BwK90sV"}
```
加密数据:
```json
d7RamNT6Wj127cXy5uMzVPIN6Tl/Gui2/hLsPtSAmNKw2ReX9mcdgCWXWG7E61U/MXJX7RQHcwlMZ4qrlDu+DMgKxLbUcvqaMJn3E5uiIcR3dyJ7/U1Uq4iWl/rlIEhI7wfoZRN/iMUAceC2baFNC0mjRC5hlnosAHSivfuycH8zAosmpNQwMzu1BbeLt2SnQnMNluhkbJQbuRVo2rScPlAreiPog+QE7ScGxf6e505huwlzsLpCxOQyRp/QQu97WKLrCvM60L+wovpLmhvmGFW5j3O4MqcnUg0ISVJptFZk2bEIkJs6p+3Ja7z+lkRF/tu9fX7/urTlug2csitU9k+dLxIZFisAZW4QQgGbeoaCT901uXv61p6cF1yDRCaFZyzpZm4m97IV65jaqnZrzJ7xHrzo1rdMMWI/oaxYi1Tu0Xt6SE4Lg+nMkkymy59v6RNUITf6S0i6f+vB+NACZN7pIRf38rVSM/6OxAVb6vsMejESjbUa8lKL/BwK90sV
```
解密数据:
```json
{
"type": 1,
"content": [
{
"order_no": "31744916962151288832",
"user_id": "1562747501715562499",
"user_type": "2",
"user_name": "张三",
"amount": 1500,
"time": 1720576002,
"mach_pay_time": 1720576062,
"way": 5,
"bid": 9025,
"sn": "SN00122356",
"account_balance": 30000,
"subsidy_balance": 0
}
]
}
```
| 解密数据属性 | 属性说明 | 必填 |
| ------- | ----------------------- | --- |
| type | 订单类型,int值,详见下【二、接口使用参数】 | 是 |
| content | 订单内容 | 是 |
| 注:|
| ------------ |
| 1.推送地址需要由接收方提供|
| 2.所有的金额数据单位都为分,以类型区分操作,金额本身都是非负整数|
| 3.时间戳都是10位字符串|
| 4.接口允许一次推送多条订单数据,建议数据量不要过多,尽量使用单次推送单条数据|
| 5.仅推送确定成功的数据|
| 6.仅推送金额变动非0的数据,注意将来在统计相关接口也忽略掉金额变动为0的数据|
二、接口使用参数
| type(推送订单类型) | 订单类型说明 |
| ------------ | ------ |
| 1 | 消费 |
| 2 | 消费退款 |
| 3 | 充值 |
| 4 | 充值退款 |
| 5 | 补助充值 |
| 6 | 补助退款 |
①消费记录推送参数
type为1时,content内容参数如下:
| 参数 | 名称 | 类型 | 是否必填 |
| ---------------- | ----------- | -------- | ---- |
| order_no | 订单号 | string | 是 |
| user_id | 用户唯一乐陪ID | string | 是 |
| user_type | 用户身份(1教职工 2学生) | string | 否 |
| user_name | 用户名称 | string | 否 |
| amount | 消费金额(单位:分) | string | 是 |
| time | 消费时间(10位时间戳) | string | 是 |
| mach_pay_time | 机具交易时间(10位时间戳) | string | 是 |
| way | 消费类型(1支付宝刷脸、2补助消费、3支付宝联机刷脸、4联机刷卡、5刷卡消费、6刷脸消费、7计次消费、8微信刷卡代扣、9微信刷脸代扣、10订餐消费、11在线点餐消费、12外卖消费' | Int | 是 |
| bid | 商户id | Int | 是 |
| sn | 设备编号 | string | 是 |
| account_balance | 用户普通账户余额(单位:分,) | Int | 是 |
| subsidy_balance | 用户补助账户有效余额(单位:分) | Int | 是 |
②消费退款记录推送参数
type为2时,content内容参数如下:
| 参数 | 名称 | 类型 | 是否必填 |
| ---------------- | ----------- | -------- | ---- |
| order_no | 订单号 | string | 是 |
| consume_order_no | 对应消费订单号 | string | 是 |
| amount | 消费退款金额(单位:分) | string | 是 |
| time | 消费退款时间(10位时间戳) | string | 是 |
| account_balance | 用户普通账户余额(单位:分,) | Int | 是 |
| subsidy_balance | 用户补助账户有效余额(单位:分) | Int | 是 |
| user_id | 用户唯一乐陪ID | string | 否 |
| user_type | 用户身份(1教职工 2学生) | string | 否 |
| user_name | 用户名称 | string | 否 |
| bid | 商户id | Int | 否 |
| sn | 设备编号 | string | 否 |
③充值记录推送参数
type为3时,content内容参数如下:
| 参数 | 名称 | 类型 | 是否必填 |
| ---------------- | ----------- | -------- | ---- |
| order_no | 订单号 | string | 是 |
| user_id | 用户唯一乐陪ID | string | 是 |
| user_type | 用户身份(1教职工 2学生) | string | 否 |
| user_name | 用户名称 | string | 否 |
| amount | 充值金额(单位:分) | string | 是 |
| time | 充值时间(10位时间戳) | string | 是 |
| way | 充值类型(1 现金、2 微信、3 支付宝、4 翼支付) | Int | 是 |
| account_balance | 用户普通账户余额(单位:分,) | Int | 是 |
| subsidy_balance | 用户补助账户有效余额(单位:分) | Int | 是 |
④充值退款记录推送参数
type为4时,content内容参数如下:
| 参数 | 名称 | 类型 | 是否必填 |
| ---------------- | ----------- | -------- | ---- |
| order_no | 订单号 | string | 是 |
| recharge_order_no | 对应充值订单号 | string | 是 |
| amount | 充值退款金额(单位:分) | string | 是 |
| time | 充值退款时间(10位时间戳) | string | 是 |
| account_balance | 用户普通账户余额(单位:分,) | Int | 是 |
| subsidy_balance | 用户补助账户有效余额(单位:分) | Int | 是 |
| user_id | 用户唯一乐陪ID | string | 否 |
| user_type | 用户身份(1教职工 2学生) | string | 否 |
| user_name | 用户名称 | string | 否 |
⑤补助充值记录推送参数
type为5时,content内容参数如下:
| 参数 | 名称 | 类型 | 是否必填 |
| ---------------- | ----------- | -------- | ---- |
| order_no | 订单号 | string | 是 |
| user_id | 用户唯一乐陪ID | string | 是 |
| user_type | 用户身份(1教职工 2学生) | string | 否 |
| user_name | 用户名称 | string | 否 |
| amount | 补助充值金额(单位:分) | string | 是 |
| time | 补助充值时间(10位时间戳) | string | 是 |
| third_no | 外部交易订单号 | string | 是 |
| account_balance | 用户普通账户余额(单位:分,) | Int | 是 |
| subsidy_balance | 用户补助账户有效余额(单位:分) | Int | 是 |
⑥补助退款记录推送参数
type为6时,content内容参数如下:
| 参数 | 名称 | 类型 | 是否必填 |
| ---------------- | ----------- | -------- | ---- |
| order_no | 订单号 | string | 是 |
| subsidy_order_no | 对应补助充值订单号 | string | 是 |
| user_id | 用户唯一乐陪ID | string | 是 |
| user_type | 用户身份(1教职工 2学生) | string | 否 |
| user_name | 用户名称 | string | 否 |
| amount | 补助退款金额(单位:分) | string | 是 |
| time | 补助退款时间(10位时间戳) | string | 是 |
| account_balance | 用户普通账户余额(单位:分,) | Int | 是 |
| subsidy_balance | 用户补助账户有效余额(单位:分) | Int | 是 |
三、接口成功返回格式
```json
{
“code”: 200,
“msg”:”success”
}
```
注:接口返回成功只代表接收到了数据,不代表数据在接收方执行成功入库。