2.结算接口

## 1.确认式结算接口 ### 1.1结算单提交接口 #### 说明:确认式结算接口为商户提供订单前置信息校验,商户可通过前置调用提交接口验证该笔订单是否可结算,同时商户可对提交后校验成功订单做二次审核后,决定是否继续执行资金结算。 #### 调用时序图 ![image.png](https://cos.easydoc.net/74722269/files/kywkyw3j.png) #### 接口地址: /open/api/v1/yns/bill/submit #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |payeeName|收款人姓名|String|是|| |payeeIdCard|收款人身份证号码|String|是|| |payType|账户类型|Integer|否| 0:银行账户1:支付宝账户2:微信零钱账户| |payeeAccount|收款账号|String|是|| |amount |收款金额|String|是|收款金额必须为数字| |payeePhone|收款人手机号|String|否|该参数用于用户接收到账提醒短信| |thirdOrderId|商户订单号|String|是|商户自己生成,不可重复提交| |wxAppId|微信多渠道appid|String|否|同一商户有多个微信提现APPID使用,需联系技术沟通| |thirdBizOrderId|第三方业务订单ID|String|否|该参数为商户自己的业务订单号,通过该订单号能够查询该笔金额来源明细| |mainstayId|主体ID|Integer|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/50746518/KauTeARf/4YtlGhtN#nav_0)》查询| |invoiceCode|发票编码|String|是|该参数值可通过《[查询企业合作主体,发票类目等信息](https://easydoc.net/doc/50746518/KauTeARf/4YtlGhtN#nav_0)》查询| |remark|备注|String|否|备注字数不可超过32个字符| |transName|转账备注|String|否|备注字数不可超过20个字符| |taskNo|关联服务编码|String(32)|否|由商户自行评估该提交结算订单是否需要关联服务| #### 账户类型说明 |payType|说明| |-|-| |0|银行账户| |1|付宝账户| |2|微信账户| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义| 数据类型| 是否必有| 参数备注| |-|-|-|-|-| |billNo| 订单号|String|是|| |billStatus| SSC平台订单状态|Integer|[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)|| |actualAmount| 结算金额|BigDecimal|是|个人实际到账金额| |contractTaxAmount|合同税费|BigDecimal|是|| |failReason|失败原因|String|否|| #### SSC平台订单状态状态说明 |billStatus|说明| |-|-| |-100|待审核| |0|提现中| |1|提现成功| |-1|提现失败| ### 1.2结算单确认结算接口 #### 管理员审核结算单无误后,通过此接口确认结算。 >d 注意:确认结算时,需保证结算账户余额充足,否则无法进行结算。 #### 接口地址: /open/api/v1/yns/bill/sureGrant #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |billNo|订单号|String|是|该值由提交订单接口返回| |settlementCertUrl|结算证明|String|否|url链接,最长640字符| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |billNo|订单号|String|是| || |thirdOrderNo|第三方订单号|String| 是|生成订单接口的thirdOrderId字段的值| |status|结算结果状态|Integer| 是|[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)| |failReason|失败原因|String|否| || #### 结算结果状态说明 |status|说明| |-|-| |1|正在发放| |-1|发放失败| ### 1.3结算单取消结算接口 #### 结算单确认前,如发现错误可调用此接口取消。 #### 接口地址: /open/api/v1/yns/bill/cancel #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |billNo|订单号|String|是|该值由提交订单接口返回| |reason|取消原因|String|否|| #### 接口响应参数data字段解密后的参数说明: >d该接口返回结果data解密后为boolean。 ## 2. 即时结算接口 说明:调用即时结算接口商户将订单信息提交后,SSC校验通过将实时进行资金结算。 #### 调用时序图 ![image.png](https://cos.easydoc.net/74722269/files/kyvcic7e.png) #### 接口地址: /open/api/v1/yns/bill/payment #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |thirdOrderId|商户订单号|String|是|商户自己生成,不可重复提交| |mainstayId|主体ID|Integer|是|[2.查询企业合作主体,发票类目等信息](https://easydoc.net/doc/34949871/grcmeR1I/mnWkEMuT)| |invoiceCode|发票编码|String|是|[2.查询企业合作主体,发票类目等信息](https://easydoc.net/doc/34949871/grcmeR1I/mnWkEMuT)| |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)|否|由商户自行评估该提交结算订单是否需要关联服务| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义| 数据类型| 是否必有| 参数备注| |-|-|-|-|-| |billNo|订单号|String|是| || |thirdOrderId|商户订单号|String| 是|| |checkStatus|风控校验状态|Integer| 是|-1:校验失败; 1:校验成功;| |failReason|失败原因|String|否| || ## 3.结算结果查询接口 #### 商户可在结算单确认后,或无确认结算后调用此接口主动查询结算结果。 需要调用查询接口的情况: 商户后台、网络、服务器等出现异常,商户最终未接收到结算结果通知; 结算单无确认提交接口、结算单确认结算接口 返回状态为“等待发放”或“正在发放”。 #### 接口地址: /open/api/v1/yns/bill/queryResult #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |thirdOrderNos|需要查询的商户订单号|List<String>|是|最大长度10 #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |thirdOrderNo|商户订单号|String|是|| |itemStatus|结果状态|Integer|是|[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)| |~~reason~~|~~失败原因~~|~~String~~|~~否~~|~~结算失败才会有该值;失败原因-此字段已废弃为了兼容老的保留~~| |amount|结算金额|String|是|实际结算的金额| |paymentTime|结算时间|String|是|实际到账时间,与SSC平台记录时间一致| |returnMsg|失败原因|String|是|| |source|所属业务线|String|是|2:轻税 3:账管家 4:云纳税| |taxType|征收方式|String|否| 0:累进制 2:定期定额 3:查账征收| |realPaymentAmount|总支付金额|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额(到账金额)+合作费用| |cooperateExpensesAmount|合作费用|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额*合作费率| |cooperateExpensesTax|合作费率|String|否|| #### 结算结果状态说明 |itemStatus|说明| |-|-| |-4|格式检查失败| |-3|发放终止(预留值,不会出现)| |-2|转账退款(预留值,不会出现)| |-1|发放失败| |0|等待发放| |1|正在发放| |2|发放成功| >d该结算结果data解密后为List 集合json字符串。 结果示例 [{"thirdOrderNo":"xxx","itemStatus":"xx","reason":"xxxx","amount":"0.01","realPaymentAmount":"0.01","cooperateExpensesAmount":"0.01", "returnMsg":"xxx", "paymentTime":"xxx"}, {"thirdOrderNo":"xxx","itemStatus":"xx","reason":"xxxx","amount":"0.01","realPaymentAmount":"0.01","cooperateExpensesAmount":"0.01", "returnMsg":"xxx", "paymentTime":"xxx"}] ## 4.结算成功异步回调 #### 结算单全部明细处理完成后,SSC将调用该接口“通知”商户结算结果。 >d 该接口需要第三方自行编写提供接口到SSC平台。回调成功必须返回小写字符串"success",否则系统的回调补偿机制将轮询回调。接口编写示例跟[充值回调接口](https://easydoc.net/doc/35028851/Yyp2Sa2X/6FruF2fF#nav_3)说明一致。 #### 请求方式:POST 解密结果示例如下: ```json { "itemStatus": "2", "amount": "12.01", "realPaymentAmount": "12.01", "cooperateExpensesAmount": "12.01", "cooperateExpensesTax": "0.003", "thirdOrderNo": "pay123", "paymentTime": "2019-07-05 23:41:45", "returnMsg": "" } ``` #### 接口响应参数解密后的参数说明: |参数名称| 参数含义| 数据类型| 是否必有| 参数备注| |-|-|-|-|-| |itemStatus| 订单状态| String|是|[结算结果状态码](https://easydoc.net/doc/95180784/Ry461Ra3/g5SDIGDl)| |amount| 结算金额| String|是|实际结算的金额| |thirdOrderNo| 结算订单号| String|是|| |paymentTime| 结算时间| String|是|实际到账时间,与SSC平台记录时间一致| |returnMsg| 描述信息| String|是|| |source|所属业务线|String|是|2:轻税 3:账管家 4:云纳税| |taxType|征收方式|String|否| 0:累进制 2:定期定额 3:查账征收| |realPaymentAmount|总支付金额|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额(到账金额)+合作费用| |cooperateExpensesAmount|合作费用|String|否|后置收费模式有值。查询商户是否为后置收费可联系商务。计算方式:提交金额*合作费率| |cooperateExpensesTax|合作费率|String|否|| #### 订单状态说明 |itemStatus|说明| |-|-| |-4|格式检查失败| |-3|发放终止(预留值,不会出现)| |-2|转账退款(预留值,不会出现)| |-1|发放失败| |0|等待发放| |1|正在发放| |2|发放成功| ## 5.电子回单查询接口 #### 此接口在商户或个体户通过商户自由平台主动查询、下载电子回单时使用。 需要调用查询接口的情况: 商户后台、网络、服务器等出现异常,商户最终未接收到电子回单消息; 结算完成的回调消息中,结果状态为“等待发放”或“正在发放”。 >d 注意:电子回单在结算完成之后,需要一定时间生成,如若需要系统生成好回单自动推送,请调用电子回单回调申请接口 #### 接口地址: /open/api/v1/yns/bill/voucher/query #### 请求方式:POST #### 请求参数说明: >d 注意:请求确保callbackUrl地址能够用外网正常访问 |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |thirdOrderNo|商户订单号|String|是| |callbackUrl|回调地址|String|否|如果电子回单未生成,将会记录回调地址,等电子回单生成后主动推送,调用此地址,重复提交(相同订单号)视为修改回调地址(入参空地址则不修改),一个订单只会回调一次| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |thirdOrderNo|商户订单号|String|是|| |status|电子回单状态|Integer|是|-1-未生成;0-生成中;1-已生成;| |voucherUrl|电子回单下载地址|String|否|status=1时返回,status=0/-1时,系统生成电子回单后,将主动推送callbackUrl地址| #### 电子回单状态说明 |status|说明| |-|-| |-1|未生成| |0|生成中| |1|已生成| ## 6.电子回单回调接口 #### 银行电子回单制作完成后,SSC将调用此接口“通知”商户。电子回单通常为会计保存原始记账凭证、财务核对账实一致用。 #### 请求方式:POST >d 该接口需要第三方自行编写提供接口到SSC平台。回调成功必须返回小写字符串"success",否则系统的回调补偿机制将轮询回调。接口编写示例跟[充值回调接口](https://easydoc.net/doc/35028851/Yyp2Sa2X/6FruF2fF#nav_3)说明一致。 #### 接口响应参数解密后的参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |thirdOrderNo|商户订单号|String|是|| |status|电子回单状态|Integer|是|固定传1-制作完成;| |voucherUrl|电子回单下载地址|String|是||