1.资金账户
## 1. 账户充值金额计算接口
#### 接口地址:
/open/api/v1/yns/balance/amountCal
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|参数类型|是否必填|参数备注|
|-|-|-|-|-|
|belongBusiness|所属业务线|int(3)|是|详情请看【所属业务线说明】|
|mainstayId|主体|int(3)|是||
|rechargeAmount|充值金额|String(18)|选填||
|paymentAmount|打款金额|String(18)|选填|充值金额与打款金额选填一项,如果都不为空,则默认选择充值金额|
#### 所属业务线说明
|belongBusiness|说明|
|-|-|
|2|轻税众包业务线|
|4|云纳税业务线|
#### 响应参数说明:
|参数名称|参数含义|参数类型|是否必填|参数备注|
|-|-|-|-|-|
|paymentAmount|打款金额|String|是||
|rechargeAmount|充值金额|String|是||
## 2. 账户余额查询
#### 接口地址:
/open/api/v1/yns/balance/query
#### 请求方式:POST
>d该接口无需请求参数即可查询余额。
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|mainstayId|主体ID|Integer|否|默认查询所有主体|
|payType|账户类型|Integer|否|默认查询所有账户类型0:银行账户1:支付宝账户2:微信账户|
#### 账户类型说明
|payType|说明|
|-|-|
|0|银行账户|
|1|付宝账户|
|2|微信账户|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|mainstayId|主体ID| Integer|是||
|mainstayName|主体名|String|是||
|totalBalance|主体总余额|BigDecimal|是| ||
|companyBalanceItems|主体账户类型列表|List<CompanyBalanceItem>|是| ||
#### CompanyBalanceItem:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|balance|账户余额类型|BigDecimal|是| ||
|name|账户类型名称|String|是| ||
|payType|账户类型编码|Integer|是| ||
解密结果示例如下:
```json
[
{
"companyBalanceItems": [
{
"balance": 1115.39,
"name": "银行卡账户",
"payType": 0
},
{
"balance": 615.39,
"name": "支付宝账户",
"payType": 1
},
{
"balance": 0.00,
"name": "微信账户",
"payType": 2
}
],
"mainstayId": 1,
"mainstayName": "安吉",
"totalBalance": 1730.78
}
]
```
## 3. 账户余额充值
#### 接口地址:
/open/api/v1/yns/balance/recharge
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|mainstayId|主体ID|Integer(2)|是||
|payType|账户类型|Integer(2)|否|不传默认为0,详情请看【账户类型说明】|
|amount|打款金额|BigDecimal(11,2)|是||
|bankVoucherFile|银行打款回执单|String(640)|是|该参数为文件url链接|
|remarks|备注|String(640)|否||
|thirdRechargeNo|第三方充值单号|String(32)|是||
#### 账户类型说明
|payType|说明|
|-|-|
|0|银行账户|
|1|付宝账户|
|2|微信账户|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|thirdRechargeNo| 第三方充值单号| String|是||
|rechargeAmount|充值金额|BigDecimal|是||
|entryAmount| 打款金额|BigDecimal|是|前置收费显示扣除合同税费金额;后置收费显示打款金额|
|contractTaxRate| 合同税率|BigDecimal|是| ||
|contractTaxAmount| 合同税费|BigDecimal|是| ||
## 4.充值结果查询接口
#### 接口地址:
/open/api/v1/yns/balance/rechargeResultQuery
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|是否必填|参数备注|
|-|-|-|-|
|thirdRechargeNo|第三方充值单号|是|任选一个传入即可,若都传了默认使用第三方充值单号进行查询|
|rechargeBillNo|平台充值订单号|是|任选一个传入即可,若都传了默认使用第三方充值单号进行查询|
#### 接口响应参数data字段解密后map中的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|rechargeBillNo| 平台充值订单号|String| 是||
|payType| 账户类型|int| 是||
|auditStatus| 充值审核状态|int| 是|0:待审核 1:审核通过 -1:审核拒绝|
|rechargeAmount| 充值金额|BigDecimal| 是||
|thirdRechargeNo| 第三方充值单号|String| 是||
|entryAmount| 入账金额|BigDecimal| 是||
|contractTaxAmount| 合同税费|BigDecimal| 是||
|contractTaxRate| 合同税率|BigDecimal| 是||
|entryTime| 入账时间|String| 是||
|failReason| 失败原因|String| 是||
如果 data字段为空则代表未取得充值结果
## 5. 充值成功异步回调
#### 请求方式:POST
解密结果示例如下:
```json
{
"callbackType":"ynsRecharge",
"thirdRechargeNo": "chongzhi123",
"auditStatus": "1",
"entryAmount": "108",
"rechargeAmount": "100",
"entryTime": "2019-07-05 23:41:45",
"contractTaxAmount": "8",
"contractTaxRate": "0.08",
"failReason":"xxx"
}
```
|参数名称| 参数含义| 数据类型|是否必有| 参数备注|
|-|-|-|-|-|
|callbackType|回调类型|String|是|固定返回:ynsRecharge|
|thirdRechargeNo| 第三方充值单号|String| 是||
|auditStatus| 充值审核状态|Integer| 是|0:待审核 1:审核通过 -1:审核拒绝|
|entryAmount| 打款金额|BigDecimal| 是||
|rechargeAmount| 到账金额|BigDecimal| 是||
|entryTime| 充值时间 |String| 是||
|contractTaxAmount| 合同税费|BigDecimal| 是||
|contractTaxRate| 合同税率|BigDecimal| 是||
|failReason| 失败原因|String| 否||
#### 账户类型说明
|auditStatus|说明|
|-|-|
|1|待审核|
|1|审核通过|
|-1|审核拒绝|
## 6. 提现申请
#### 接口地址:
/open/api/v1/yns/balance/withdraw
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|mainstayId|主体ID|Integer|是| 可从[查询商户合作信息]接口获取()|
|amount|提现金额|BigDecimal|是|两位小数|
|bankNo|收款账号|String|是|最长256字符|
|accountName|账户名称|String|是|最长256字符|
|bankName|开户行|String|是|最长256字符|
|payType|账户类型|Integer|是|详情请看【账户类型说明】|
|thirdOrderNo|第三方提现单号|String|是|最长32字符|
|remark|备注|String|否|最长256字符|
#### 账户类型说明
|payType|说明|
|-|-|
|0|银行账户|
|1|付宝账户|
|2|微信账户|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|thirdOrderNo| 第三方提现单号| String|是||
|amount| 提现金额|BigDecimal|是||
|realAmount| 到账金额|BigDecimal|是| ||
|status| 提现状态|Integer|是| 详情请看【提现状态说明】||
#### 提现状态说明
|status|说明|
|-|-|
|-100|待审核|
|1|提现成功|
|-1|提现失败|
## 7. 提现异步回调
#### 请求方式:POST
```json
{
"callbackType":"ynsWithdrawResult",
"thirdRechargeNo": "tixian123",
"amount": "100",
"realAmount": "108",
"status": "1",
"returnMsg": "",
"url":"https://xxx.xxx.xxx/xxxx.png",
"payType": "0",
"mainstayId": "1"
}
```
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义| 数据类型|是否必有| 参数备注|
|-|-|-|-|-|
|callbackType|回调类型|String|是|固定返回:ynsWithdrawResult|
|thirdOrderNo| 第三方提现单号| String|是||
|amount| 提现金额|BigDecimal|是||
|realAmount| 到账金额|BigDecimal|是| ||
|status| 状态|Integer|是| 详情请看【提现状态说明】||
|returnMsg| 提现失败原因| String|否|提现失败时有|
|url| 打款凭证url| String|否||
|payType|账户类型|Integer|是|详情请看【账户类型说明】|
|mainstayId|主体ID|Integer|是| 1-安吉 2-长兴 3-乐清|
#### 账户类型说明
|payType|说明|
|-|-|
|0|银行账户|
|1|付宝账户|
|2|微信账户|
#### 提现状态说明
|status|说明|
|-|-|
|-100|待审核|
|1|提现成功|
|-1|提现失败|
## 8. 提现记录查询
#### 接口地址:
/open/api/v1/yns/balance/withdraw/query
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|thirdOrderNo|第三方提现单号|String|是|最长32字符|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|thirdOrderNo| 第三方提现单号| String|是||
|amount| 提现金额|BigDecimal|是||
|realAmount| 到账金额|BigDecimal|是| ||
|status| 状态|Integer|是| 详情请看【提现状态说明】||
|returnMsg| 提现失败原因| String|否|提现失败时有|
|url| 打款凭证url| String|否||
|payType|账号类型|Integer|是|详情请看【账户类型说明】|
|mainstayId|主体ID|Integer|是| 1-安吉 2-长兴 3-乐清|
#### 账户类型说明
|payType|说明|
|-|-|
|0|银行账户|
|1|付宝账户|
|2|微信账户|
#### 提现状态说明
|status|说明|
|-|-|
|-100|待审核|
|1|提现成功|
|-1|提现失败|