---
url: "https://pay.weixin.qq.com/doc/v3/partner/4013138598.md"
title: "完结支付分订单"
doc_id: 4013138598
---

>更新时间：2024.12.06

服务完成后，商户调用本接口，通知微信支付服务已结束(collection.state参数变为USER\_PAYING状态，即用户待支付状态)。

注意：

1、在接口参数中，商户需要通过post\_payments字段，上传本笔订单实际的付费项目明细，不同的场景有不同的传值要求，详见：[post\_payments(后付费项目)字段传参](https://pay.weixin.qq.com/doc/v3/partner/4013163663.md)说明。

2、完结后微信支付会按照一定频率自动发起扣款，直到扣款成功，中间不会自动失效。商户可参考[开发指引](https://pay.weixin.qq.com/doc/v3/partner/4012586134.md)做业务逻辑处理。




## 接口说明

支持商户：【普通服务商】

请求方式：【POST】 `/v3/payscore/partner/serviceorder/{out_order_no}/complete`

请求域名：【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

　　　　　【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点，指引[点击查看](https://pay.weixin.qq.com/doc/v3/partner/4012082567.md)

## 请求参数

### Header 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| Authorization | string | true | 请参考 [签名认证](https://pay.weixin.qq.com/doc/v3/partner/4012365870.md#%E8%AF%B7%E6%B1%82%E6%8E%A5%E) 生成认证信息 |
| Accept | string | true | 请设置为 `application/json` |
| Content-Type | string | true | 请设置为 `application/json` |
### Path 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| out_order_no | string(32) | true | 【商户服务订单号】 商户系统内部服务订单号，要求32个字符内，只能是数字、大小写字母\_-&#124;\* 且在同一个商户号下唯一。需要开发者特别注意，该参数不可用于申请退款接口中的 out\_trade\_no 参数。 |
### Body 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| service_id | string(32) | true | 【服务ID】  商户支付分服务的唯一标识，由32位数字组成。支付分产品权限审核通过后，微信支付运营会向商户提供该ID。 |
| sub_mchid | string(32) | true | 【子商户号】服务商下的子商户商户号，普通服务商使用 [特约商户进件](https://pay.weixin.qq.com/doc/v3/partner/4012719997.md) 生成，平台收付通服务商使用 [二级商户进件](https://pay.weixin.qq.com/doc/v3/partner/4012713017.md) 生成。 |
| post_payments | array[Payment] | true | 【后付费项目】 用于展示订单后付费项目明细，最多100条，商户需要按照所属行业规程传参，详见 [post\_payments(后付费项目)字段传参说明](https://pay.weixin.qq.com/doc/v3/partner/4013163663.md)。 |
| post_payments.name | string(20) | false | 【付费名称】 不能超过20个字符，需严格按照[post\_payments(后付费项目)字段传参说明](https://pay.weixin.qq.com/doc/v3/partner/4013163663.md)传参。 |
| post_payments.amount | integer | false | 【付费金额】 付费项目金额，整型，大于等于0(等于0时表示不需要扣费)，单位为分，需严格按照[post\_payments(后付费项目)字段传参说明](https://pay.weixin.qq.com/doc/v3/partner/4013163663.md)传参。 |
| post_payments.description | string(30) | false | 【付费说明】 对付费项目的详细说明，不超过30个字符，需严格按照[post\_payments(后付费项目)字段传参说明](https://pay.weixin.qq.com/doc/v3/partner/4013163663.md)传参。 |
| post_payments.count | integer | false | 【付费数量】 后付费项目的数量，为整型，数量范围为\[1,100\]。相同的后付费项目建议合并计算amount和count。 |
| post_discounts | array[ServiceOrderCoupon] | false | 【商户优惠】 用于展示订单优惠项目明细，最多30条，完结订单时传的收款总金额需满足计算条件(收款总金额=后付费项目amount和-优惠项目amount和) |
| post_discounts.name | string(20) | false | 【优惠名称】 用于描述优惠项目，不超过20个字符，同一单多个优惠项目名称不可重复。 |
| post_discounts.description | string(30) | false | 【优惠说明】 用于描述优惠项目使用条件，不超过30个字符。 |
| post_discounts.amount | integer | false | 【优惠金额】 整型，单位为分，用于描述优惠项目金额。 |
| post_discounts.count | integer | false | 【优惠数量】 整型，数量范围为\[1,100\]，用于描述优惠项目使用数量，例如用户使用了两张同一活动优惠券，则count填2。 |
| total_amount | integer | true | 【总金额】<br>订单最终收款总金额，整型，单位为分，商户调用完结订单接口和修改订单金额接口传入，受服务ID风险金额上限影响，服务ID风险金额上限具体请与BD确认。<br>先免模式：total\_amount<=创单risk\_fund.amount(押金金额)<=服务ID风险金额上限。<br>先享模式：total\_amount<=服务ID风险金额上限。<br>需满足计算条件：total\_amount = 后付费项目金额(post\_payments.amount总和) - 优惠项目金额(post\_discounts.amount总和)，例如商户后付费项目金额总和为10元，优惠项目金额总和为2元，则订单收款总金额为8元。 |
| time_range | object | false | 【服务时间段】 用于描述订单的服务开始和结束时间。 |
| time_range.start_time | string(14) | false | 【服务开始时间】<br>1、商户提供服务的开始时间。例如，用户今天下单，商户明天提供服务，这里的时间指的是明天。<br>2、支持格式："yyyyMMddHHmmss"、"yyyyMMdd" 和 "OnAccept"。<br>传入 20091225091010 表示 2009 年 12 月 25 日 9 点 10 分 10 秒。<br>传入 20091225 表示 2009 年 12 月 25 日 0 点 0 分 0 秒。<br>传入 OnAccept 表示用户确认订单成功时间为服务开始时间。<br>3、微信支付会根据传入时间的精度进行校验：<br>如果是 yyyyMMdd 格式，校验精确到日：start\_time 必须晚于或等于商户调用创建订单接口的时间。<br>如果是 yyyyMMddHHmmss 格式，校验精确到秒：start\_time 必须晚于调用创建订单接口的时间（考虑系统时差，建议预留一定误差）。 |
| time_range.end_time | string(14) | false | 【服务结束时间】<br>1、商户提供服务的结束时间。例如，商户明天提供服务，3天后结束服务，这里的时间指的是3天后的时间。<br>2、支持格式："yyyyMMddHHmmss"和"yyyyMMdd"。<br>传入 20091225091010 表示 2009 年 12 月 25 日 9 点 10 分 10 秒。<br>传入 20091225 表示 2009 年 12 月 25 日 0 点 0 分 0 秒。<br>3、微信支付会根据传入时间的精度进行校验：<br>如果是 yyyyMMddHH 格式，校验精确到日：end\_time 必须晚于或等于 start\_time。<br>如果是 yyyyMMddHHmmss 格式，校验精确到秒：end\_time 必须晚于 start\_time。<br>4、end\_time必须和start\_time时间格式一致，如果start\_time使用OnAccept格式则end\_time必须使用yyyyMMddHHmmss格式。 |
| time_range.start_time_remark | string(20) | false | 【服务开始时间备注】 当有传入服务开始时间时，可添加备注说明，不超过20个字符。 |
| time_range.end_time_remark | string(20) | false | 【服务结束时间备注】 当有传入服务结束时间时，可添加备注说明，不超过20个字符。 |
| location | object | false | 【服务位置】 用于描述用户使用服务的地理位置 |
| location.start_location | string(20) | false | 【服务开始地点】 用户开始使用服务的地点，不超过20个字符。 |
| location.end_location | string(20) | false | 【服务结束地点】用户结束使用服务的地点，不超过20个字符。 |
| profit_sharing | boolean | false | 【微信支付服务分账标记】 支付分订单的分账标识，完结订单时传入true表示需要进行分账。订单收款成功后，资金将被冻结。商户可[请求分账](https://pay.weixin.qq.com/doc/v3/partner/4012690683.md)，将订单收款资金分配给其他商户或用户。调用完结分账接口后，剩余资金将解冻；若未进行分账且距离支付完成时间超过30天，资金也会自动解冻。<br>true：需分账<br>false：不需分账<br>注：不传默认false，不需分账。 |
| complete_time | string(64) | false | 【完结服务时间】 支付分订单完结时间，使用ISO 8601所定义的格式，需要晚于或等于end\_time，且早于或等于调接口当前时间。<br>格式示例：<br>YYYY-MM-DDTHH:mm:ss.SSSZ<br>YYYY-MM-DDTHH:mm:ssZ<br>YYYY-MM-DDTHH:mm:ss.SSS+08:00<br>YYYY-MM-DDTHH:mm:ss+08:00 |
| goods_tag | string(32) | false | 【订单优惠标记】 代金券在创建时可以配置多个订单优惠标记，标记的内容由创券商户自定义设置。如果代金券有配置订单优惠标记，则必须在该参数传任意一个配置的订单优惠标记才能使用券。如果代金券没有配置订单优惠标记，则可以不传该参数。 |
| device | object | false | 【设备信息】 |
| device.start_device_id | string(50) | false | 【服务开始的设备ID】 某一设备在商户对应服务ID下的唯一标识，由商户自行填写，建议采用设备SN值。售货机、充电宝、充电桩等无人自助设备行业必传。 |
| device.end_device_id | string(50) | false | 【服务结束的设备ID】 某一设备在商户对应服务ID下的唯一标识，由商户自行填写，建议采用设备SN值。售货机、充电宝、充电桩等无人自助设备行业必传。 |
| device.materiel_no | string(100) | false | 【物料URL】 若商户参与政策，则填写微信支付运营给到商家的对应加参后的URL链接；若商家未参与政策，则填写商家自有的URL链接。 |
## 应答参数

> 204 No Content

无应答包体
## 错误码

### 公共错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | PARAM\_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 400 | INVALID\_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 [接口规则](https://pay.weixin.qq.com/doc/v3/partner/4012081726.md) |
| 401 | SIGN\_ERROR | 验证不通过 | 请参阅 [签名常见问题](https://pay.weixin.qq.com/doc/v3/partner/4012082324.md) |
| 500 | SYSTEM\_ERROR | 系统异常，请稍后重试 | 请稍后重试 |

### 业务错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | INVALID\_ORDER\_STATE | 单据状态错误 | 确认操作是否符合流程 |
| 400 | INVALID\_REQUEST | 请求参数符合参数格式，但不符合业务规则 | 请确认相同单号是否使用了不同的参数 |
| 400 | ORDER\_CANCELED | 单据已取消 | 当前状态无需操作 |
| 400 | ORDER\_DONE | 订单已完成 | 当前状态无需操作 |
| 403 | NO\_AUTH | 商户信息不合法 | 登录[服务商平台](https://pay.weixin.qq.com/index.php/partner/public/home)核对，传入正确信息 |
| 404 | ORDER\_NOT\_ EXIST | 订单不存在 | 确认入参，传入正确单据 |
| 429 | FREQUENCY\_LIMITED | 频率超限 | 请求量不要超过接口调用频率限制 |
| 500 | SYSTEM\_ERROR | 系统错误 | 5开头的状态码都为系统问题，请使用相同参数稍后重新调用 |

请求示例

- [curl 示例](https://pay.weixin.qq.com/doc/v3/partner/4013138598-curl.md)
- [Java 示例](https://pay.weixin.qq.com/doc/v3/partner/4013138598-java.md)
- [Go 示例](https://pay.weixin.qq.com/doc/v3/partner/4013138598-go.md)


应答示例

> 204 No Content

```
'无应答包体'

```
