2.结算接口
## 1.预估劳务人员综合税费接口
通过该接口可以获取劳务人员的预计收入,来预估劳务人员的综合税费
#### 接口地址:
/open/api/v1/lw/common/predictionTax
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|payeeIdCard|劳务人员身份证号码|String(18)|是||
|submitAmount|预计结算金额|BigDecimal(11)|是|单位:元;精度:小数点后两位|
|mainstayId|主体ID|Integer(2)|是|可通过查询发票编码、主体列表接口获取合作主体ID,或者咨询商务支持|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|submitAmount|预计结算金额|BigDecimal(12)|单位:元;精度:小数点后两位||
|personIncomeTaxAmount|个税税金 |BigDecimal(12)|单位:元;精度:小数点后两位||
|valueAddedTaxAmount|增值税税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|additionalTaxAmount|附加税税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|urbanConstructionTaxAmount|城建附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|educationSurchargesTaxAmount|教育附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|localEducationSurchargesTaxAmount|地方教育附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|contractTaxAmount|合作费用|BigDecimal(12)|单位:元;精度:小数点后两位||
|actualAmount|劳务人员实际到账|BigDecimal(12)|单位:元;精度:小数点后两位||
|realPaymentAmount|合作方实际出金|BigDecimal(12)|单位:元;精度:小数点后两位||
#### 返回报文示例:
```java
{
"actualAmount": "0",
"additionalTaxAmount": "0",
"contractTaxAmount": "25000",
"educationSurchargesTaxAmount": "0",
"localEducationSurchargesTaxAmount": "0",
"personIncomeTaxAmount": "0",
"realPaymentAmount": "525000",
"submitAmount": "500000",
"urbanConstructionTaxAmount": "0",
"valueAddedTaxAmount": "0"
}
```
## 2.确认式结算接口
说明:确认式结算接口为商户提供订单前置信息校验,商户可通过前置调用提交接口验证该笔订单是否可结算,同时商户可对提交后校验成功订单做二次审核后,决定是否继续执行资金结算。
#### 调用时序图

### 2.1 结算单提交接口
#### 接口地址:
/open/api/v1/lw/bill/submitBill
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|payeeName|收款人姓名|String|是||
|payeeIdCard|收款人身份证号码|String|是||
|payType|账户类型|int|否|0:银行账户1:支付宝账户|
|payeeAccount|收款账号|String|是||
|amount |收款金额|String|是|收款金额必须为数字|
|payeePhone|收款人手机号|String|否|该参数用于用户接收到款短信|
|thirdOrderId|商户订单号|String|是|商户自己生成,不可重复提交|
|thirdBizOrderId|第三方业务订单ID|String|否|该参数为商户自己的业务订单号,通过该订单号能够查询该笔金额来源明细|
|mainstayId|主体ID|Long|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/64606353/WRXJG4oL/lH8xS88b#nav_0)》查询|
|invoiceCode|发票编码|String|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/64606353/WRXJG4oL/lH8xS88b#nav_0)》查询|
|remark|备注|String|否|备注字数不可超过32个字符|
|transName|转账备注|String|否|备注字数不可超过20个字符|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义| 数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|billNo| 订单号|String|是||
|actualAmount| 结算金额|BigDecimal|是|个体户实际到账金额|
|valueAddedTaxAmount|增值税|BigDecimal|是||
|additionalTaxAmount|附加税|BigDecimal|是||
|personIncomeTaxAmount|个税|BigDecimal|是||
|contractTaxAmount|服务费(合同税费)|BigDecimal|是||
|paymentAmount|实际打款金额(需要扣除的费用)|BigDecimal|是||
|itemStatus| SSC平台订单状态|Integer|是|[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)
|failReason|失败原因|String|否|
|taskNo|关联服务编码|String(32)|否|由商户自行评估该提交结算订单是否需要关联服务|
### 2.2结算单确认结算接口
#### 接口地址:
/open/api/v1/lw/bill/sureGrant
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|billNo|订单号|String|是|该值由提交订单接口返回|
|settlementCertUrl|结算证明|String|否|url链接|
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|thirdOrderNo| 第三方订单号|String| 是|生成订单接口的thirdOrderId字段的值|
|billNo| 订单号|String|是| ||
|itemStatus| 结算结果状态|int| 是|详情请参考[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)|
|returnMsg|失败原因|String|否||
## 3.即时结算申请接口
调用即时结算申请接口以后,如果平台处理成功会自动处理,处理完成以后会发送代发订单结果回调通知,合作方也可以调用 3.2.4 代发查询接口进行结果查询(建议间隔5秒以上)。
#### 接口地址:
/open/api/v1/lw/bill/paymentApply
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|thirdOrderId|三方订单号|String(32)|是|需确保唯一性|
|batchNo|批次号|String(32)|否|重复提交视为同一批次,用于批次号开票|
|payeeName|收款人真实姓名|String(32)|是||
|payeeIdCard|收款人身份证号码|String(18)|是||
|payType|支付类型|Integer(2)|是|0:银行卡 1:支付宝 |
|payeeAccount|收款账户|String(128)|是|根据支付类型填写银行卡卡号、支付宝账号或者微信号|
|amount|收款金额|BigDecimal(11)|是|单位:元;精度:小数点后两位|
|wxAppId|特殊情况需传入此参数|String(64)|否||
|payeePhone|收款人手机号|String(16)|否|用于接收到款短信|
|payeeBankName|收款账户开户银行|String(128)|否||
|payeeBankNo|收款账户开户银行(联行号) |String(30)|否||
|transName|转账附言|String(20)|否||
|mainstayId|主体ID|Integer(2)|是|1:安吉|
|invoiceCode|发票编码|String(32)|是||
|remark|备注|String(255)|是||
|extStatus|拓展状态|String(32)|否|拓展状态:restrictPay:限制支付 |
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|thirdOrderNo|商户订单号|String(32)|是||
|remark|备注|String(255)|否||
|taskNo|关联服务编码|String(32)|否|由商户自行评估该提交结算订单是否需要关联服务|
#### 返回报文示例:
```java
{
"thirdOrderNo": "order123456",
"remark": "xxx劳务收入"
}
```
## 4.结算订单查询接口
通过该接口可以获取劳务人员结算订单详情。
#### 接口地址:
/open/api/v1/lw/bill/queryResult
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|thirdOrderNo|商户订单号|String(32)|是|需要确保此订单唯一性|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|billNo|平台订单号|String(32)|是||
|thirdOrderNo|三方订单号|String(32)|是|与请求参数中thirdOrderId同一值|
|transNo|平台交易明细单号|String(32)|否||
|itemStatus|结果状态|Integer(2)|是||
|amount|提交结算金额|BigDecimal(12)|是||
|reason|失败原因|String|否||
|remark|平台订单号|String(255)|否|备注|
|personIncomeTaxAmount|个税税金 |BigDecimal(12)|单位:元;精度:小数点后两位||
|valueAddedTaxAmount|增值税税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|additionalTaxAmount|附加税税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|urbanConstructionTaxAmount|城建附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|educationSurchargesTaxAmount|教育附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|localEducationSurchargesTaxAmount|地方教育附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|contractTaxAmount|合作费用|BigDecimal(12)|单位:元;精度:小数点后两位||
|cooperateExpensesTax|合作费率|String||
|actualAmount|劳务人员实际到账|BigDecimal(12)|单位:元;精度:小数点后两位||
|realPaymentAmount|合作方实际出金|BigDecimal(12)|单位:元;精度:小数点后两位||
|paymentTime|结算时间|String(19)|yyyy-MM-dd HH:mm:ss||
#### 返回报文示例:
```java
{
"actualAmount": "0",
"additionalTaxAmount": "0",
"amount": "100",
"billNo": "2022042417260308946432",
"contractTaxAmount": "0",
"educationSurchargesTaxAmount": "0",
"itemStatus": -1,
"localEducationSurchargesTaxAmount": "0",
"paymentTime": "2022-04-24 17:26:04",
"personIncomeTaxAmount": "0",
"realPaymentAmount": "0",
"reason": "支付失败,原因为:结算失败",
"remark": "XXX收入",
"thirdOrderNo": "5c89b5f1305e426d9408a6ae830767b2",
"transNo": "LW2022042417260301884416",
"urbanConstructionTaxAmount": "0",
"valueAddedTaxAmount": "0",
"cooperateExpensesTax":"0.001"
}
```
## 5.结算订单结果回调通知
#### 通知参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|callbackType|回调类型|String(32)|是|固定返回:lwPayResult|
|billNo|平台订单号|String(32)|是||
|thirdOrderNo|三方订单号|String(32)|是|与请求参数中thirdOrderId同一值|
|transNo|平台交易明细单号|String(32)|否||
|itemStatus|结果状态|Integer(2)|是||
|amount|提交结算金额|BigDecimal(12)|是||
|reason|失败原因|String|否||
|remark|平台订单号|String(255)|否|备注|
|personIncomeTaxAmount|个税税金 |BigDecimal(12)|单位:元;精度:小数点后两位||
|valueAddedTaxAmount|增值税税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|additionalTaxAmount|附加税税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|urbanConstructionTaxAmount|城建附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|educationSurchargesTaxAmount|教育附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|localEducationSurchargesTaxAmount|地方教育附加税金|BigDecimal(12)|单位:元;精度:小数点后两位||
|contractTaxAmount|合作费用|BigDecimal(12)|单位:元;精度:小数点后两位||
|actualAmount|劳务人员实际到账|BigDecimal(12)|单位:元;精度:小数点后两位||
|realPaymentAmount|合作方实际出金|BigDecimal(12)|单位:元;精度:小数点后两位||
|paymentTime|结算时间|String(19)|yyyy-MM-dd HH:mm:ss||
|cooperateExpensesTax|合作费率|String||
#### 返回报文示例:
```java
{
"valueAddedTaxAmount": "0.00",
"reason": "支付失败,原因为:结算失败",
"urbanConstructionTaxAmount": "0",
"amount": "100.00",
"educationSurchargesTaxAmount": "0",
"actualAmount": "0.00",
"localEducationSurchargesTaxAmount": "0",
"remark": "XXX收入",
"additionalTaxAmount": "0.00",
"transNo": "",
"thirdOrderNo": "5c89b5f1305e426d9408a6ae830767b2",
"itemStatus": -1,
"contractTaxAmount": "0.00",
"personIncomeTaxAmount": "0.00",
"realPaymentAmount": "0.00",
"paymentTime": "2022-04-24 17:26:04",
"billNo": "2022042417260308946432",
"callbackType": "lwPayResult"
}
```
## 6.获取电子回单接口
该接口为查询接口,如实时查询则回调地址为非必传(同步查询会有延时情况),如异步回调通知电子回单,则回调地址为必传
#### 接口地址:
/open/api/v1/lw/bill/queryVoucherUrl
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|thirdOrderNo|商户订单号|String(32)|是|需要确保此订单唯一性|
|callbackUrl|需要回调的地址|String(255)|否|如果电子回单未生成,将会记录回调地址,等电子回单生成后主动推送,调用此地址,重复提交(相同订单号)视为修改回调地址(入参空地址则不修改),一个订单只会回调一次|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|thirdOrderNo|商户订单号|String(32)|是||
|status|电子回单状态|Integer|是|1-制作完成|
|voucherUrl|电子回单下载地址|String|是||
#### 返回报文示例:
```java
{
"thirdOrderNo": "bx123456",
"status": 1,
"voucherUrl":""
}
```
## 7.电子回单回调接口
#### 响应参数data字段解密后的参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|thirdOrderNo|商户订单号|String(32)|是||
|status|电子回单状态|Integer|是|1-制作完成|
|voucherUrl|电子回单下载地址|String|是||
#### 返回报文示例:
```java
{
"thirdOrderNo": "bx123456",
"status": 1,
"voucherUrl":""
}
```
## 8.结算日账单查询接口接口
#### 接口地址:
/open/api/v1/common/bill/queryAccountStatement
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|date|对账日期 日账单格式为yyyy-MM-dd,不支持下载当日账单,只能下载前一日24点前的结算账单数据(T+1),当日数据一般于次日 9 点前生成,特殊情况可能延迟。|String(32)|是||
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|businessLine|业务线|String(32)|是|lw:劳务业务线|
|billDownloadUrl|账单下载地址|Integer|是||
##### 劳务结算对账单
|参数名称|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|商户名称|String|是||
|主体|String|是||
|订单号|String|是||
|银行支付流水号|String|是||
|账户类型|String|是|银行卡账户/支付宝账户/微信账户|
|收费类型|String|是|前置收费/后置收费|
|清算日期|String|是||
|收款人姓名|String|是||
|收款人账号|String|是||
|提交金额|String|是||
|结算金额|String|是||
|合同费用|String|是|后置收费下有值|
|状态|String|是|结算成功/结算失败/正在结算/等待结算|