2.结算接口

## 1 .确认式结算接口 说明:确认式结算接口为商户提供订单前置信息校验,商户可通过前置调用提交接口验证该笔订单是否可结算,同时商户可对提交后校验成功订单做二次审核后,决定是否继续执行资金结算。 #### 调用时序图 ![image.png](https://cos.easydoc.net/74722269/files/kywkyw3j.png) ### 1.1 结算单提交接口 #### 接口地址: /open/api/v1/qs/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个字符| |taskNo|关联服务编码|String(32)|否|由商户自行评估该提交结算订单是否需要关联服务| |invoiceClassification|发票类型|int|否|0:增值税电子普通发票,1:增值税专用发票,2:通用电子普通发票,4:增值税电子专用发票,6:数电票(专用发票),7:数电票(普通发票),支持专普混开的商户必填| |taxPointConf|发票税率|int|否|0:3%,1:1%,支持专普混开的商户必填| #### 接口响应参数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|否| ### 1.2 结算单确认结算接口 #### 接口地址: /open/api/v1/qs/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|否|| ### 1.3 结算单取消结算接口 #### 接口地址: /open/api/v1/qs/bill/cancel #### 请求方式:POST #### 请求参数说明: |参数名称|参数类型|参数含义|是否必填|参数备注| |-|-|-|-|-| |billNo|String|订单号|是|该值由提交订单接口返回| |reason|String|取消原因|否|取消原因字段限制不超过30字| #### 接口响应参数data字段解密后的参数说明: >d 该接口响应参数中无响应data字段 ,success 等于true代表取消成功,false 代表失败 errorMessage中有错误信息反馈 ## 2. 即时结算接口 说明:调用即时结算接口商户将订单信息提交后,SSC校验通过将实时进行资金结算。 #### 调用时序图 ![image.png](https://cos.easydoc.net/74722269/files/kyvcic7e.png) #### 接口地址: /open/api/v1/qs/bill/payment #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |thirdOrderId|商户订单号|String|是|商户自己生成,不可重复提交| |mainstayId|主体ID|Integer|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/64606353/WRXJG4oL/lH8xS88b#nav_0)》查询| |invoiceCode|发票编码|String|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/64606353/WRXJG4oL/lH8xS88b#nav_0)》查询| |payeeName|收款人姓名|String|是|| |payeeIdCard|收款人身份证号码|String|是|| |payType|账户类型|Integer|否| 0:银行账户1:支付宝账户2:微信零钱账户| |payeeAccount|收款账号|String|是|| |amount |收款金额|String|是|收款金额必须为数字| |payeePhone|收款人手机号|String|否|该参数用于用户接收到账提醒短信| |wxAppId|微信多渠道appid|String|否|同一商户有多个微信提现APPID使用,需联系技术沟通| |thirdBizOrderId|第三方业务订单ID|String|否|该参数为商户自己的业务订单号,通过该订单号能够查询该笔金额来源明细| |remark|备注|String|否|备注字数不可超过32个字符| |transName|转账备注|String|否|备注字数不可超过20个字符| |settlementCertUrl|结算证明|String|否|url链接,最长640字符| |taskNo|关联服务编码|String(32)|否|由商户自行评估该提交结算订单是否需要关联服务| |invoiceClassification|发票类型|int|否|0:增值税电子普通发票,1:增值税专用发票,2:通用电子普通发票,4:增值税电子专用发票,6:数电票(专用发票),7:数电票(普通发票),支持专普混开的商户必填| |taxPointConf|发票税率|int|否|0:3%,1:1%,支持专普混开的商户必填| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义| 数据类型| 是否必有| 参数备注| |-|-|-|-|-| |billNo|订单号|String|是| || |thirdOrderId|商户订单号|String| 是|| |checkStatus|风控校验状态|Integer| 是|-1:校验失败; 1:校验成功;| |failReason|失败原因|String|否| || ## 3. 结算结果异步回调 >d 该接口需要第三方自行编写提供接口到SSC平台回调成功必须返回success不然会重复回调 接口编写示例跟5.3 充值回调接口说明一致 解密结果示例如下: ```json { "callbackType": "qsPayResult", "billNo": "QS2022123123123123", "thirdOrderNo": "zhifu123", "status": 1, "itemStatus": 1, "amount": "100.0", "paymentTime": "2020-12-12 09:23:12", "returnMsg": "xx", "personIncomeTaxAmount": "0.01", "valueAddedTaxAmount": "0.01", "additionalTaxAmount": "0.01", "contractTaxAmount": "0.01", "realPaymentAmount": "0.01", "cooperateExpensesAmount": "0.01", "cooperateExpensesTax": "0.001", "serviceTax": "0.001", } ``` |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |callbackType|回调类型|String|是|固定返回:qsPayResult| |billNo| 平台订单号|String |是|平台订单号| |thirdOrderNo| 商户订单号|String |是|商户第三方订单号| |itemStatus| 结果状态|int| 是|详情请参考[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)| |amount|结算金额|String|是|提交的金额| |paymentTime|结算时间|String|否|格式:yyyy-MM-dd HH:mm:ss| |returnMsg| 失败原因|String|是|结算失败才会有该值| |source|所属业务线|String|是|2:轻税 3:账管家 4:云纳税| |taxType|征收方式|String|否| 0:累进制 2:定期定额 3:查账征收| |personIncomeTaxAmount|个税|String|否|直营模式才会有该值| |valueAddedTaxAmount|增值税|String|否|直营模式才会有该值| |additionalTaxAmount|附加税|String|否|直营模式才会有该值| |contractTaxAmount|服务费|String|否|直营模式才会有该值| |realPaymentAmount|总支付金额|String|否|众包业务线后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额(到账金额)+合作费用| |cooperateExpensesAmount|合作费用|String|否|众包业务线后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额*合作费率| |cooperateExpensesTax|合作费率|String|否|众包业务线后置收费模式有值。查询商户是否为后置收费可联系商务。| |serviceTax|服务费率|String|否|直营模式才会有该值| ## 4. 结算结果查询接口 #### 接口地址: /open/api/v1/qs/bill/queryResult #### 请求方式:POST #### 请求参数说明: ```json [ "zhifu111", "zhifu222", ... ] ``` |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |无参数名称|需要查询的商户订单号|List<String>|是|最多10个订单号| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |billNo| 平台订单号|String |是|平台订单号| |thirdOrderNo| 商户订单号|String |是|三方订单号| |~~status~~| 结果状态|int| 是|老字段,已废弃,请对接itemStatus| |itemStatus| 结果状态|int| 是|详情请参考[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)| |amount|结算金额|String|是|提交的金额| |paymentTime|结算时间|String|否|格式:yyyy-MM-dd HH:mm:ss,确认结算后才有| |reason| 失败原因|String|是|支付失败才会有该值| |returnMsg| 失败原因|String|是|老字段,已废弃,请对接reason| |source|所属业务线|String|是|2:轻税 3:账管家 4:云纳税| |taxType|征收方式|String|否| 0:累进制 2:定期定额 3:查账征收| |personIncomeTaxAmount|个税|String|否|直营才会有该值| |valueAddedTaxAmount|增值税|String|否|直营才会有该值| |additionalTaxAmount|附加税|String|否|直营才会有该值| |contractTaxAmount|服务费|String|否|直营才会有该值| |realPaymentAmount|总支付金额|String|否|众包业务线后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额(到账金额)+合作费用| |cooperateExpensesAmount|合作费用|String|否|众包业务线后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额*合作费率| |cooperateExpensesTax|合作费率|String|否|众包业务线后置收费模式有值。查询商户是否为后置收费可联系商务。| |serviceTax|服务费率|String|否|直营才会有该值| >d该结算结果data解密后为List 集合json字符串。 结果示例 ```json [ { "billNo": "xxx", "thirdOrderNo": "zhifu111", "status": 1, "itemStatus": 1, "amount": "100.0", "paymentTime": "xxx", "reason": "xxxx", "returnMsg": "xx", "personIncomeTaxAmount": "0.01", "valueAddedTaxAmount": "0.01", "additionalTaxAmount": "0.01", "contractTaxAmount": "0.01", "realPaymentAmount": "0.01", "cooperateExpensesAmount": "0.01", "cooperateExpensesTax": "0.001", "serviceTax": "0.001", }, ... ] ``` ## 5. 电子回单 ### 5.1 电子回单查询 >d 电子回单在支付完成之后,需要一定时间制作,如若需要系统生成好回单自动推送,请调用电子回单回调申请接口 #### 接口地址: /open/api/v1/qs/bill/voucher/query #### 请求方式:POST #### 请求参数说明: >d 请求确保callbackUrl地址能够用外网正常访问 |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |thirdOrderNo|商户订单号|String|是| |callbackUrl|回调地址|String|否|如果电子回单未生成,将会记录回调地址,等电子回单生成后主动推送,调用此地址,重复提交(相同订单号)视为修改回调地址(入参空地址则不修改),一个订单只会回调一次| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |thirdOrderNo|商户订单号|String|是|| |status|电子回单状态|Integer|是|-1-未制作(没有提供回调地址);0-制作中(回单制作完成将主动推送回调地址);1-制作完成;| |voucherUrl|电子回单下载地址|String|否|回单制作完成时有值| ### 5.2 电子回单回调接口 #### 请求方式:POST #### 请求参数说明: >d 请在正常接收到回调请求后返回小写字符串"success",否则系统的回调补偿机制将轮询回调 ````json { "callbackType":"voucher", "thirdOrderNo":"huidan123", "status":"1", "voucherUrl":"https://xxx.xxx.xxx/xxx.png" } ```` |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |callbackType|回调类型|String|是|固定返回:voucher| |thirdOrderNo|商户订单号|String|是|| |status|电子回单状态|Integer|是|固定返回:1 (制作完成)| |voucherUrl|电子回单下载地址|String|是|| ## 6.个体工商户计算综合税费接口 #### 接口地址:/open/api/v1/selfRegistered/calculateTax #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |amount|提交金额|BigDecimal|是|| |mainstayId|主体id|Integer|是|| |idCard|个体户身份证|String|是|| #### 接口响应参数说明: |参数名称|参数含义| 数据类型|是否必有|参数备注| |-|-|-|-|-| |invoiceAmount|开票金额|BigDecimal|是 |personIncomeTaxAmount|个税|BigDecimal|是 |valueAddedTaxAmount|增值税|BigDecimal|是 |additionalTaxAmount|附加税|BigDecimal|是 |serviceAmount|服务费|BigDecimal|是 |incomeAmount|到账金额|BigDecimal|是 ## 7. 个体工商户余额查询接口 ### 7.1 个体工商户余额查询接口(单个) 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址:/open/api/v1/qs/qsSelfEmployedSettledAmountQuery #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |idCard|个体户身份证号|String|是|| |mainstayId|注册地ID|String|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/64606353/WRXJG4oL/lH8xS88b#nav_0)》查询| #### 接口响应参数说明: |参数名称|参数含义| 数据类型|是否必有|参数备注| |-|-|-|-|-| |name|个体户姓名|String|是|例:张三| |idCard|个体户身份证号|String|是|例:410422199405051167| |thisMonthSettledAmount|本月已结算金额|String|是|例:0.00| |thisMonthSurplusOfAmount|本月剩余可结算金额|String|是|例:400000.00| |surplusQuarterAmount|季度剩余可开票金额|String|是|例:450000.00| |surplusYearAmount|自然年剩余可开票金额|String|是|例:1800000.00| |surplusCumulativeTwelveMonthsAmount|连续12个月剩余可开票金额|String|是|例:4950000.00| |surplusOfInvoiceAmount|剩余可开票金额|String|是|例:4950000.00;该字段取当前季度、自然年、连续12个月条件中最小剩余可开票金额| ### 7.2 个体工商户余额查询接口(批量) 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址:/open/api/v1/qs/qsSelfEmployedSettledAmountBatchQuery #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |idCards|个体户身份证号|List<String>|是|| |mainstayId|注册地ID|String|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/64606353/WRXJG4oL/lH8xS88b#nav_0)》查询| #### 接口响应参数说明: >d 1. 响应的data是一个数组 > 2. 批量查询最多入参查询人数为100人 ```json [ { "name":"张三", "idCard":"410422199405051167", "thisMonthSettledAmount":0, "thisMonthSurplusOfAmount":400000, "surplusOfInvoiceAmount":4950000, "queryStatus":true, "failReason":"xxx", }, ... ] ``` |参数名称|参数含义| 数据类型|是否必有|参数备注| |-|-|-|-|-| |name|个体户姓名|String|是|例:张三| |idCard|个体户身份证号|String|是|例:410422199405051167| |thisMonthSettledAmount|本月已结算金额|String|是|例:0.00| |thisMonthSurplusOfAmount|本月剩余可结算金额|String|是|例:400000.00| |surplusQuarterAmount|季度剩余可开票金额|String|是|例:450000.00| |surplusYearAmount|自然年剩余可开票金额|String|是|例:1800000.00| |surplusCumulativeTwelveMonthsAmount|连续12个月剩余可开票金额|String|是|例:4950000.00| |surplusOfInvoiceAmount|剩余可开票金额|String|是|例:4950000.00;该字段取当前季度、自然年、连续12个月条件中最小剩余可开票金额| |queryStatus|查询状态|Boolean|是|个体户查询状态:成功返回true,失败返回false| |failReason|查询失败原因|String|否|个体户查询失败时此字段会返回失败原因| #### 字段解释: 1.‘本月已结算金额’=本月已提交且成功结算的金额; 2.‘本月剩余可结算金额’=本月结算限额-本月已结算金额;月结算限额默认40万,可向商务提交提额申请; 3.‘季度剩余可开票金额’=季度可开票金额-季度已开票金额-季度已结算未开票金额;季度开票限额为≤45万,可向商务提交限额申请; 4.‘自然年剩余可开票金额’=自然年可开票金额-自然年已开票金额-自然年已结算未开票金额;自然年指当年1月1日-12月月31日;自然年开票限额为≤180万,可向商务提交提额申请; 5.‘连续12个月剩余可开票金额’=连续12个月可开票金额-连续12个月已开票金额-连续12个月已结算未开票金额;连续12个月指查询时间月(含)往前推11个月(含)计算;连续12个月可开票限额为≤495万。 6.‘剩余可开票金额’指季度剩余可开票金额与自然年剩余可开票金额与连续12个月剩余可开票金额比对,取最小限额。查询所得的剩余可开票金额为当前时间内个体户可开票金额。 注:由于提交的结算金额为个体户收入的税前金额或税后金额的差异,固开票金额不一定等于结算金额。一般情况在税后模式下结算金额小于开票金额,税前模式下结算金额=开票金额。