创建支付分订单
更新时间:2025.02.27当用户申请使用服务时,商户可通过此接口申请创建微信支付分订单,创单成功后,订单状态state为DOING进行中。
注:该接口支持原参重入,相同参数重复调用可以返回成功。
接口说明
支持商户:【普通服务商】
请求方式:【POST】/v3/payscore/partner/serviceorder
请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点
【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看
请求参数
Header HTTP头参数
Authorization 必填 string
请参考签名认证生成认证信息
Accept 必填 string
请设置为application/json
Content-Type 必填 string
请设置为application/json
body 包体参数
service_id 必填 string(32)
【服务ID】 商户支付分服务的唯一标识,由32位数字组成。支付分产品权限审核通过后,微信支付运营会向商户提供该ID。
appid 必填 string(32)
【公众账号ID】公众账号ID也称APPID,是(微信开放平台、微信公众平台)为开发者提供的一个唯一标识,用于识别开发者的应用程序(APP、小程序、公众号)。 开发者需要先在微信开放平台或微信公众平台中申请ID,然后在服务商平台中绑定,详见服务商商户号与AppID账号关联管理。完结订单和取消订单需要和创单传入的appid保持一致。
sub_mchid 必填 string(32)
【子商户号】服务商下的子商户商户号,普通服务商使用特约商户进件生成,平台收付通服务商使用二级商家进件生成。
sub_appid 选填 string(32)
【子商户公众账号ID】 公众账号ID也称APPID,是(微信开放平台、微信公众平台)为开发者提供的一个唯一标识,用于识别开发者的应用程序(APP、小程序、公众号)。需要登录服务商平台操作绑定,具体参考服务商为特约商户配置AppID(即sub_appid)操作方法。
out_order_no 必填 string(32)
【商户服务订单号】 商户系统内部服务订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。需要开发者特别注意,该参数不可用于申请退款接口中的 out_trade_no 参数。
service_introduction 必填 string(20)
【服务信息】 用于介绍本订单所提供的服务 ,长度不能超过20个字符(汉字、数字、字母、特殊符号都按照1个字符计算)。
post_payments 选填 array[Payment]
【后付费项目】 用于展示订单后付费项目明细,商户需要按照所属行业规程传参,详见post_payments(后付费项目)字段传参说明。
属性 | |
post_discounts 选填 array[ServiceOrderCoupon]
【商户优惠】 用于展示订单优惠项目明细,最多30条,完结订单时传的收款总金额需满足计算条件(收款总金额=后付费项目amount和-优惠项目amount和)
属性 | |
risk_fund 必填 object
【服务风险金】 本笔订单的风险金额描述
属性 | |
time_range 必填 object
【服务时间】 用于描述订单的服务开始和结束时间。
属性 | |
location 选填 object
【服务位置】 用于描述用户使用服务的地理位置
属性 | |
openid 选填 string(128)
【用户标识】 用户在服务商appid下的唯一标识,openid、sub_openid二选一传。
sub_openid 选填 string(128)
【用户标识】 用户在子商户sub_appid下的唯一标识,openid、sub_openid二选一传,传了此参数则sub_appid必填。
need_user_confirm 必填 boolean
【是否需要用户确认】 固定传false。
notify_url 必填 string(256)
【商户回调地址】 商户接收支付成功回调通知的地址,创单时传入,需按照notify-url填写注意事项规范填写。
attach 选填 string(256)
【商户数据包】 商户在创建订单时传入的自定义数据包,用户不可见。用于存放订单的商户自定义数据,需要先进行urlencode编码,总长度不超过256字符。支付成功回调通知时会回传该字段给商户。
请求示例
POST
应答参数
200 OK
out_order_no 必填 string(32)
【商户服务订单号】 商户系统内部服务订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。需要开发者特别注意,该参数不可用于申请退款接口中的 out_trade_no 参数。
service_id 必填 string(32)
【服务ID】 商户支付分服务的唯一标识,由32位数字组成。支付分产品权限审核通过后,微信支付运营会向商户提供该ID。
appid 必填 string(32)
【公众账号ID】 公众账号ID也称APPID,是(微信开放平台、微信公众平台)为开发者提供的一个唯一标识,用于识别开发者的应用程序(APP、小程序、公众号)。 开发者需要先在微信开放平台或微信公众平台中申请ID,然后在服务商平台中绑定,详见服务商商户号与AppID账号关联管理。完结订单和取消订单需要和创单传入的appid保持一致。
mchid 必填 string(32)
【服务商商户号】 调用支付分创单接口提交的服务商商户号,商户号需开通支付分产品权限,且与appid有绑定关系,详见服务商商户号与AppID账号关联管理。
sub_appid 选填 string(32)
【子商户公众账号ID】 公众账号ID也称APPID,是(微信开放平台、微信公众平台)为开发者提供的一个唯一标识,用于识别开发者的应用程序(APP、小程序、公众号)。需要登录服务商平台操作绑定,具体参考服务商为特约商户配置AppID(即sub_appid)操作方法。
sub_mchid 必填 string(32)
【子商户号】服务商下的子商户商户号,普通服务商使用特约商户进件生成,平台收付通服务商使用二级商家进件生成。
service_introduction 必填 string(20)
【服务信息】 用于介绍本订单所提供的服务 ,长度不能超过20个字符(汉字、数字、字母、特殊符号都按照1个字符计算)。
state 必填 string(32)
【服务订单状态】 表示支付分订单状态
CREATED:商户已创建服务订单
DOING:服务订单进行中
DONE:服务订单完成(终态)
REVOKED:商户取消服务订单(终态)
EXPIRED:服务订单已失效,"商户已创建服务订单"状态超过30天未变动,则订单失效(终态)
该状态需结合collection.state字段和state_description字段一起判断,具体可参考支付分订单状态流转图。
state_description 选填 string(32)
【订单状态说明】 此参数用于对服务订单处于DOING状态时的附加说明,非DOIING状态将不会返回该参数。具体状态如下:
USER_CONFIRM:用户已确认状态,表示用户成功确认订单后所处状态。
MCH_COMPLETE:商户已完结状态,指商户调用完结接口成功后至扣款成功前的状态。
该状态需结合collection.state字段和state字段一起判断,具体可参考支付分订单状态流转图。
post_payments 选填 array[object]
【后付费项目】 用于展示订单后付费项目明细,商户需要按照所属行业规程传参,详见post_payments(后付费项目)字段传参说明。
属性 | |
post_discounts 选填 array[object]
【商户优惠】 用于展示订单优惠项目明细,最多30条,完结订单时传的收款总金额需满足计算条件(收款总金额=后付费项目amount和-优惠项目amount和)
属性 | |
risk_fund 选填 object
【服务风险金】 本笔订单的风险金额描述
属性 | |
time_range 选填 object
【服务时间】 用于描述订单的服务开始和结束时间。
属性 | |
location 选填 object
【服务位置】 用于描述用户使用服务的地理位置
属性 | |
attach 选填 string(256)
【商户数据包】 商户在创建订单时传入的自定义数据包,用户不可见。用于存放订单的商户自定义数据,需要先进行urlencode编码,总长度不超过256字符。支付成功回调通知时会回传该字段给商户。
notify_url 选填 string(256)
【商户回调地址】 商户接收支付成功回调通知的地址,创单时传入,需按照notify-url填写注意事项规范填写。
order_id 选填 string(64)
【微信支付服务订单号】 支付分订单在微信侧的唯一标识,31位数字,开头由1000000000+年月日组成。
package 选填 string(1024)
【跳转微信侧数据包】 创建支付分订单成功后返回,由数字大小写字母_-符号组成,不超过300字符,免确认模式可忽略该参数。
应答示例
200 OK
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |