创建支付分订单

更新时间:2024.12.09

当用户申请使用服务时,从业机构可通过此接口为子商户创建微信支付分订单,创单成功后,订单状态state为CREATED进行中。

注意:

该接口支持原参重入,相同参数重复调用可以返回成功。

接口说明

支持商户:【从业机构(支付机构)】

请求方式:【POST】/v3/payscore/acquiringbank/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,是微信公众平台为开发者提供的一个唯一标识,用于识别开发者的应用程序(小程序、公众号)。 开发者需要先在微信公众平台中申请ID,然后在服务商平台中绑定,详见服务商商户号与AppID账号关联管理。完结支付分订单和取消支付分订单需要和创单传入的appid保持一致。


sub_mchid  必填 string(32)

【子商户号】 从业机构下的子商户商户号,从业机构或者渠道商使用开户意愿确认接口生成。


sub_appid  选填 string(32)

【子商户公众账号ID】 公众账号ID也称APPID,是微信公众平台为开发者提供的一个唯一标识,用于识别开发者的应用程序(小程序、公众号)。需要从业机构登录服务商平台操作绑定,具体参考服务商为特约商户配置AppID(即sub_appid)操作方法


channel_id  必填 string(32)

【渠道商商户号】 从业机构下的渠道商商户号,需要从业机构登录服务商平台操作入驻,具体参考渠道商入驻流程方法


out_order_no  必填 string(32)

【商户服务订单号】 商户系统内部服务订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。


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

【服务位置】 用于描述用户使用服务的地理位置

属性

need_user_confirm  选填 boolean

【是否需要用户确认】 固定传true或者不传(不传默认是true)。


notify_url  必填 string(256)

【商户回调地址】 商户接收确认订单回调通知商户预下单回调通知支付成功回调通知的地址,创单时传入,需按照notify-url填写注意事项规范填写。


attach  选填 string(256)

【商户数据包】 商户在创建订单时传入的自定义数据包,用户不可见。用于存放订单的商户自定义数据,需要先进行urlencode编码,总长度不超过256字符。确认订单回调通知支付成功回调通知时会回传该字段给商户。

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/payscore/acquiringbank/serviceorder \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "service_id" : "2002000000000558128851361561536",
8    "appid" : "wxd678efh567hg6787",
9    "sub_mchid" : "1900000109",
10    "sub_appid" : "wxd678efh567hg6999",
11    "channel_id" : "1230000109",
12    "out_order_no" : "1234323JKHDFE1243252",
13    "service_introduction" : "XX充电宝",
14    "post_payments" : [
15      {
16        "name" : "就餐费用",
17        "amount" : 40000,
18        "description" : "就餐人均100元",
19        "count" : 4
20      }
21    ],
22    "post_discounts" : [
23      {
24        "name" : "满20减1元",
25        "description" : "不与其他优惠叠加",
26        "amount" : 100,
27        "count" : 2
28      }
29    ],
30    "risk_fund" : {
31      "name" : "DEPOSIT",
32      "amount" : 10000,
33      "description" : "就餐的预估费用"
34    },
35    "time_range" : {
36      "start_time" : "20091225091010",
37      "end_time" : "20091225121010",
38      "start_time_remark" : "备注1",
39      "end_time_remark" : "备注2"
40    },
41    "location" : {
42      "start_location" : "嗨客时尚主题展餐厅",
43      "end_location" : "嗨客时尚主题展餐厅"
44    },
45    "need_user_confirm" : true,
46    "notify_url" : "https://api.test.com",
47    "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald"
48  }'
49

应答参数

200 OK

out_order_no  必填 string(32)

【商户服务订单号】 商户系统内部服务订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。


service_id  必填 string(32)

【服务ID】 商户支付分服务的唯一标识,由32位数字组成。支付分产品权限审核通过后,微信支付运营会向商户提供该ID。


appid  必填 string(32)

【从业机构公众账号ID】 公众账号ID也称APPID,是微信公众平台为开发者提供的一个唯一标识,用于识别开发者的应用程序(小程序、公众号)。 开发者需要先在微信公众平台中申请ID,然后在服务商平台中绑定,详见服务商商户号与AppID账号关联管理。完结支付分订单和取消支付分订单需要和创单传入的appid保持一致。


mchid  必填 string(32)

【从业机构商户号】 调用支付分创单接口提交的从业机构商户号,需开通支付分产品权限,且与appid有绑定关系,详见服务商商户号与AppID账号关联管理


sub_appid  选填 string(32)

【子商户公众账号ID】 公众账号ID也称APPID,是微信公众平台为开发者提供的一个唯一标识,用于识别开发者的应用程序(小程序、公众号)。需要从业机构登录服务商平台操作绑定,具体参考服务商为特约商户配置AppID(即sub_appid)操作方法


sub_mchid  必填 string(32)

【子商户号】 从业机构下的子商户商户号,从业机构或者渠道商使用开户意愿确认接口生成。


channel_id  必填 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

1{
2  "out_order_no" : "1234323JKHDFE1243252",
3  "service_id" : "2002000000000558128851361561536",
4  "appid" : "wxd678efh567hg6787",
5  "mchid" : "1230000109",
6  "sub_appid" : "wxd678efh567hg6999",
7  "sub_mchid" : "1900000109",
8  "channel_id" : "1230000109",
9  "service_introduction" : "XX充电宝",
10  "state" : "CREATED",
11  "state_description" : "MCH_COMPLETE",
12  "post_payments" : [
13    {
14      "name" : "就餐费用",
15      "amount" : 40000,
16      "description" : "就餐人均100元",
17      "count" : 4
18    }
19  ],
20  "post_discounts" : [
21    {
22      "name" : "满20减1元",
23      "description" : "不与其他优惠叠加",
24      "amount" : 100,
25      "count" : 2
26    }
27  ],
28  "risk_fund" : {
29    "name" : "DEPOSIT",
30    "amount" : 10000,
31    "description" : "就餐的预估费用"
32  },
33  "time_range" : {
34    "start_time" : "20091225091010",
35    "end_time" : "20091225121010",
36    "start_time_remark" : "备注1",
37    "end_time_remark" : "备注2"
38  },
39  "location" : {
40    "start_location" : "嗨客时尚主题展餐厅",
41    "end_location" : "嗨客时尚主题展餐厅"
42  },
43  "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",
44  "notify_url" : "https://api.test.com",
45  "order_id" : "0000300001201908301055157220022",
46  "package" : "DJIOSQPYWDxsjdldeuwhdodwxasd_dDiodnwjh9we"
47}
48

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

400

INVALID_ORDER_STATE

单据状态错误

确认操作是否符合流程

400

INVALID_REQUEST

请求参数符合参数格式,但不符合业务规则

请确认相同单号是否使用了不同的参数

400

ORDER_CANCELED

单据已取消

当前状态无需操作

400

ORDER_DONE

订单已完成

当前状态无需操作

403

NO_AUTH

商户信息不合法

登录服务商平台核对,传入正确信息

404

ORDER_NOT_EXIST

订单不存在

确认入参,传入正确单据

429

FREQUENCY_LIMITED

频率超限

请求量不要超过接口调用频率限制

500

SYSTEM_ERROR

系统错误

5开头的状态码都为系统问题,请使用相同参数稍后重新调用

 

 

反馈
咨询
目录
置顶