2.结算接口
## 结算要求限制
◆ 每笔金额上限为5w元,超过5w超出风控范围,将会直接返回失败,不可继续走确认结算。
◆ 银行卡,姓名,身份证不符,直接放回失败,三要素不匹配。
◆ 每个人每个月不得超过97000元,超出则直接返回结算失败。
## 1.提交订单接口
>d 备注:该接口所生成订单超过五天未确认结算,系统会默认清除
#### 接口地址:
/open/api/v1/bill/submitBill
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|是否必填|参数备注|
|-|-|-|-|
|payeeName|收款人姓名|是||
|payeeAccount|收款账户|是||
|payeeIdCard|收款人身份证号码|是||
|amount |收款金额|是||
|thirdOrderId|商户订单号|是|商户自己生成,不可重复提交|
|wxAppId|微信appId|否|特殊情况需传入此参数|
|payeePhone|收款人手机号|否|该参数用于用户接收到款短信|
|payeeBankName|收款账户开户银行|否||
|payeeBankNo|收款账户开户银行联行号|否||
|thirdBizOrderId|第三方业务订单ID|否|该参数为商户自己的业务订单号,通过该订单号能够查询该笔金额来源明细|
|payType|支付类型|是|支付类型该参数值填写支付类型对应数字即可 0:银行卡
|batchNo|批次号|否|由第三方自己控制哪些订单为同一个批次号,开票的时候可根据批次号开票|
|transName|转账备注|否|备注字数不可超过20个字符|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义| 数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|billId| SSC平台订单号| int|是||
|thirdOrderNo| 商户提交时的订单号|String| 是||
|transNo|交易号|String| 是||
|checkStatus| 检测状态 |String|是|-1:检测失败 1:检测成功|
|errorCode| 错误编码|String| 否||
|reason| 失败原因|String| 否||
## 2.确认结算接口
#### 接口地址:
/open/api/v1/bill/sureGrant
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|是否必填|参数备注|
|-|-|-|-|
|billId|订单ID|是|该值由提交订单接口返回|
|mainstayId|主体ID|是|该参数由 [查询商户可开票列表,以及所拥有的主体接口](doc:AcWriNWG) 可获的|
|invoiceCode|发票编号|是|该参数由 [查询商户可开票列表,以及所拥有的主体接口](doc:AcWriNWG) 可获的|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|thirdOrderNo| 第三方订单号|String| 是|生成订单接口的thirdOrderId字段的值|
|transNo|交易单号|String|是|支付平台交易单号|
|status| 结算结果状态|String| 是|详情请参考[结算结果状态码](doc:nD2opxYu)|
|errorCode| 错误编码|String| 否||
|returnMsg| 返回信息|String|否| ||
## 3.结算结果查询接口
#### 接口地址:
/open/api/v1/bill/queryResult
#### 请求方式:POST
#### 请求参数说明:
>d 该接口参数无需参数名称只需将商户订单号拼接处json数组即可
示例:String data = [\"orderNo1\",\"orderNo2\"... ,\"orderNo10\"];
|参数名称|参数含义|是否必填|参数备注|
|-|-|-|-|
|无参数名称|需要查询的商户订单号|是|最多查询10条记录|
未加密请求参数示例如下:
```json
[
"order11111",
"order22222"
]
```
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|billNo|平台批次号|String|是||
|thirdBillNo|商户批次号|String|否||
|thirdOrderNo| 商户明细号|String| 是||
|transNo|平台明细号|String|是||
|itemStatus| 订单状态|Integer| 是|详情请参考[结算结果状态码](https://easydoc.net/docs/jg3t6THA/95180784/Ry461Ra3/g5SDIGDl)|
|amount| 结算的金额|String| 是|实际结算的金额|
|paymentTime| 结算时间|String| 否|结算成功返回|
|reason| 失败原因|String| 是||
|errorCode| 失败编码|String| 是|失败时返回|
|remark|拓展字段|String|否|商户备注字段|
|realPaymentAmount|总支付金额|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额(到账金额)+合作费用|
|cooperateExpensesAmount|合作费用|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额*合作费率|
|cooperateExpensesTax|合作费率|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。|
解密结果示例如下:
```json
[
{
"transNo": "xxxxx",
"itemStatus": 2,
"amount": "12.01",
"thirdOrderNo": "xxxxx",
"paymentTime": "2019-07-05 23:41:45",
"reason": "",
"errorCode": "",
"remark": "",
"realPaymentAmount": "0.01",
"cooperateExpensesAmount": "0.01",
"cooperateExpensesTax": "0.001"
},
...
]
```
## 4.获取电子回单接口
#### 接口地址:
/open/api/v1/bill/queryVoucherUrl
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|thirdOrderId|第三方订单ID|String|是||
#### 接口响应参数data字段解密后的参数说明:
>d 该接口解密后的data字段即为电子回单的url
结果示例
“https://xxxxxx”
如果 data字段为空则代表未取得回单
## 5.取消订单接口
#### 接口地址:
/open/api/v1/bill/cancel
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|是否必填|参数备注|
|-|-|-|-|
|billId|平台返回的订单ID|是||
|reason|取消原因(30字)|否||
#### 接口响应参数data字段解密后的参数说明:
>d 该接口响应参数中无响应data字段 ,success 等于true代表取消成功,false 代表失败 errorMessage中有错误信息反馈
## 6.结算结果异步回调
>d 该接口需要第三方自行编写提供接口到SSC平台回调成功必须返回success不然会重复回调
#### 请求方式:POST
解密结果示例如下:
```json
{
"billNo": "123123",
"thirdBillNo": "123123",
"itemStatus": "2",
"amount": "12.01",
"transNo": "xxxxx",
"thirdOrderNo": "xxxxx",
"paymentTime": "2019-07-05 23:41:45",
"reason": "",
"errorCode": "",
"remark": "",
"realPaymentAmount": "0.01",
"cooperateExpensesAmount": "0.01",
"cooperateExpensesTax": "0.001"
}
```
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|billNo|平台批次号|String|是||
|thirdBillNo|商户批次号|String|否||
|itemStatus| 订单状态|String| 是|2:结算成功 -1:结算失败 |
|amount| 结算的金额|String| 是|实际结算的金额|
|transNo|平台订单号|String|是||
|thirdOrderNo| 结算订单号|String| 是||
|paymentTime| 结算时间|String| 是||
|reason| 失败原因|String| 是||
|errorCode| 失败编码|String| 是|失败时返回|
|remark|拓展字段|String|否|商户备注字段|
|realPaymentAmount|总支付金额|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额(到账金额)+合作费用|
|cooperateExpensesAmount|合作费用|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额*合作费率|
|cooperateExpensesTax|合作费用|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。|
## 7.批量提交订单接口(包含回调)
>d 备注:该接口所生成订单超过五天未确认结算,系统会默认清除
#### 接口地址:
/open/api/v1/bill/batchSubmitBill
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数类型|参数含义|是否必填|参数备注|
|-|-|-|-|-|
|thirdBillNo|String(32)|三方订单号|是|商户自己生成,需保证唯一|
|payType|Integer(2)|支付类型|是| 0:银行卡;1:支付宝;2:微信
|payeeInfos|List<PayeeInfo>|收款人信息列表|是|收款人最多3000个|
|billCheckResultCallbackUrl|String(1024)|批次单检测结果回调地址|否|不传默认取系统回调配置billCheckResultUrl值|
|payResultCallbackUrl|String(1024)|明细单结算结果回调地址|否|不传默认取系统回调配置的payResultUrl值|
##### PayeeInfo:
|参数名称|参数类型|参数含义|是否必填|参数备注|
|-|-|-|-|-|
|thirdOrderNo|String(32)|三方明细编号|是|该参数为商户自己的业务订单号,通过该订单号能够查询该笔金额来源明细|
|payeeName|String(64)|收款人姓名|是||
|payeeIdCard|String(18)|收款人身份证号码|是||
|payeeAccount|String(30)|收款账户|是||
|amount|BigDecimal(16,2)|金额|是||
|payeePhone|String(20)|收款人手机号|否|该参数用于用户接收到款短信|
|transName|String(20)|转账附言|否|字数不可超过20个字符|
|remark|String(20)|备注|否|字数不可超过20个字符|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数类型|参数含义|是否必有|参数备注|
|-|-|-|-|-|-|
|billNo|String|平台批量订单号|是|
|thirdBillNo|String|三方订单号|是|商户自己生成的订单号|
>d 回调:当所有明细单校验完成将触发回调,商户需提供 billCheckResultUrl 回调地址,以下是回调的返回值
|参数名称|参数类型|参数含义|是否必有|参数备注|
|-|-|-|-|-|-|
|billNo|String|平台批量订单号|是|
|thirdBillNo|String|三方订单号|是|商户自己生成的订单号|
|status|Integer|平台批量订单状态|是|[订单结果状态码](doc:qRAWaDf8);当状态为1等待结算时方可进行《确认批量订单接口》的调用;当状态为3订单完成时,说明详情单全部校验失败,订单流程完成|
|failItemList|List<FailItem>|明细集合|否|明细校验失败将返回|
##### FailItem:
|参数名称|参数类型|参数含义|是否必有|参数备注|
|-|-|-|-|-|-|
|billNo|String|平台批量订单号|是|
|thirdBillNo|String|三方订单号|是|商户自己生成的订单号|
|thirdOrderNo|String|三方明细单号|是|商户自己生成的明细单号|
|amount|BigDecimal|金额|是||
|itemStatus|Integer|结算明细状态|是|[结算明细结果状态码](doc:qRAWaDf8)|
|errorCode|String |错误编码| 否||
|reason|String|失败原因|否|状态为失败时才会有原因
|remark|String|备注|否||
|realPaymentAmount|String|总支付金额|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额(到账金额)+合作费用|
|cooperateExpensesAmount|String|合作费用|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额*合作费率|
## 8.确认批量订单接口
#### 接口地址:
/open/api/v1/bill/batchSureGrant
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数类型|参数含义|是否必填|参数备注|
|-|-|-|-|-|
|thirdBillNo|String(32)|商户订单号|是|商户自己生成的订单号|
|mainstayId|Integer(2)|主体|是|
|invoiceCode|String(255)|发票编码|是||
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数类型|参数含义|是否必有|参数备注|
|-|-|-|-|-|-|
|billNo|String|平台批量订单号|是|
|thirdBillNo|String|三方订单号|是|商户自己生成的订单号|
>d 回调:当明细单结算完成将触发回调,商户需提供 payResultUrl 回调地址
## 9.结算批次订单查询接口
>d 注:2秒钟内,不允许重复查询同一订单
#### 接口地址:
/open/api/v1/bill/queryBill
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数类型|参数含义|是否必有|参数备注|
|-|-|-|-|-|-|
|thirdBillNo|String(32)|三方订单号|是|商户自己生成的订单号|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数类型|参数含义|是否必有|参数备注|
|-|-|-|-|-|-|
|billNo|String|平台批量订单号|是|
|thirdBillNo|String|三方订单号|是|商户自己生成的订单号|
|status|Integer|平台批量订单状态|是|[订单结果状态码](doc:qRAWaDf8)|