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)|