创建订单
更新时间:2025.03.14用户申请使用服务时,商户可通过此接口申请创建微信支付分订单。
注意:API参数涉及时间参数时需注意,可能由于商户时钟系统和微信支付分时钟系统,取当前时间存在一定误差。可能导致在API调用出现失败情况。因此商户在传入时间参数时需预留一定误差时间。
# 接口说明
支持商户:
【普通服务商】
请求方式:
【POST】/v3/payscore/partner/serviceorder
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看
# 请求参数
- Authorization 必填请参考 签名认证 生成认证信息
- Accept 必填请设置为
application/json
- Content-Type 必填请设置为
application/json
Header HTTP头参数
- service_id 必填【服务ID】 该服务ID有本接口对应产品的权限
- appid 必填【服务商公众号ID】 服务商申请的公众号或移动应用APPID
- sub_mchid 必填【子商户商户号】 子商户商户号,由微信支付生成并下发
- sub_appid 选填【子商户公众号ID】 子商户申请的公众号或移动应用APPID
- out_order_no 必填【商户订单号】 商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。
- service_introduction 必填【服务信息】 服务信息,用于介绍本订单所提供的服务
- post_payments 选填【后付费项目】 后付费项目列表,最多包含100条付费项目,用于用户侧展示与完结订单时的总金额计算
- 属性
- post_discounts 选填【商户优惠】 商户优惠列表,最多包含30条商户优惠,用于用户侧展示与完结订单时的总金额计算
- 属性
- risk_fund 必填【服务风险金】 用于微信支付分对本次服务进行风险评估
- 属性
- time_range 必填【服务时间】 服务时间,用于用户侧展示
- 属性
- location 选填【服务位置】 服务位置,用于用户侧展示
- 属性
- openid 选填【服务商公众号下的用户标识】 微信用户在服务商公众号appid下的唯一标识;
need_user_confirm为false时,openid与sub_openid必须填写并且只能填写一个 - sub_openid 选填【子商户公众号下的用户标识】 微信用户在子商户公众号sub_appid下的唯一标识;
need_user_confirm为false时,1. openid与sub_openid必须填写并且只能填写一个 2. 如果填写了sub_openid,那么sub_appid必填 - need_user_confirm 选填【是否需要用户确认】 false: 不需要; true: 需要确认(默认true)
- notify_url 必填【商户回调地址】 商户接收用户确认订单通知或扣款成功回调通知的地址
- attach 选填【附加数据】 附加数据,可作为自定义参数使用,需要先urlencode后传入,总长度不大于256字符,超出报错处理。
Body 包体参数
请求示例
POST
1curl -X POST \2 https://api.mch.weixin.qq.com/v3/payscore/partner/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 "out_order_no" : "1234323JKHDFE1243252",12 "service_introduction" : "XX充电宝",13 "post_payments" : [14 {15 "name" : "就餐费用",16 "amount" : 40000,17 "description" : "就餐人均100元",18 "count" : 419 }20 ],21 "post_discounts" : [22 {23 "name" : "满20减1元",24 "description" : "不与其他优惠叠加",25 "amount" : 100,26 "count" : 227 }28 ],29 "risk_fund" : {30 "name" : "DEPOSIT",31 "amount" : 10000,32 "description" : "就餐的预估费用"33 },34 "time_range" : {35 "start_time" : "20091225091010",36 "end_time" : "20091225121010",37 "start_time_remark" : "备注1",38 "end_time_remark" : "备注2"39 },40 "location" : {41 "start_location" : "嗨客时尚主题展餐厅",42 "end_location" : "嗨客时尚主题展餐厅"43 },44 "openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",45 "sub_openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",46 "need_user_confirm" : false,47 "notify_url" : "https://api.test.com",48 "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald"49 }'
# 应答参数
- out_order_no 必填【商户订单号】 调用接口传入的商户订单号
- service_id 必填【服务ID】 调用接口传入的服务ID
- appid 必填【服务商公众号ID】 调用接口传入的服务商公众号ID
- mchid 必填【服务商商户号】 调用接口传入的服务商商户号
- sub_appid 选填【子商户公众号ID】 调用接口传入的子商户公众号ID
- sub_mchid 必填【子商户商户号】 调用接口传入的子商户商户号
- service_introduction 必填【服务信息】 调用接口传入的服务信息
- state 必填【服务订单状态】 当前单据状态.
CREATED: 服务订单已创建
DOING: 服务订单进行中
DONE: 服务订单已完成
REVOKED: 商户取消服务订单
EXPIRED: 服务订单已失效,"CREATED"状态超过30天未变动,则订单失效 - state_description 选填【订单状态说明】 对服务订单"DOING"状态的附加说明. * USER_CONFIRM: 用户确认 * MCH_COMPLETE:商户完结
- post_payments 选填【后付费项目】 调用接口传入的后付费项目
- 属性
- post_discounts 选填【商户优惠】 调用接口传入的商户优惠
- 属性
- risk_fund 选填【服务风险金】 调用接口传入的服务风险金
- 属性
- time_range 选填【服务时间】 调用接口传入的服务时间
- 属性
- location 选填【服务位置】 调用接口传入的服务位置
- 属性
- attach 选填【附加数据】 调用接口传入的附加数据
- notify_url 选填【商户回调地址】 调用接口传入的商户回调地址
- order_id 必填【微信支付服务订单号】 微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户订单号一一对应
- package 选填【跳转微信侧数据包】 确认订单流程,商户前端跳转到微信侧传入的数据包,该数据一小时内有效
200OK
应答示例
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 "service_introduction" : "XX充电宝",9 "state" : "CREATED",10 "state_description" : "MCH_COMPLETE",11 "post_payments" : [12 {13 "name" : "就餐费用",14 "amount" : 40000,15 "description" : "就餐人均100元",16 "count" : 417 }18 ],19 "post_discounts" : [20 {21 "name" : "满20减1元",22 "description" : "不与其他优惠叠加",23 "amount" : 100,24 "count" : 225 }26 ],27 "risk_fund" : {28 "name" : "DEPOSIT",29 "amount" : 10000,30 "description" : "就餐的预估费用"31 },32 "time_range" : {33 "start_time" : "20091225091010",34 "end_time" : "20091225121010",35 "start_time_remark" : "备注1",36 "end_time_remark" : "备注2"37 },38 "location" : {39 "start_location" : "嗨客时尚主题展餐厅",40 "end_location" : "嗨客时尚主题展餐厅"41 },42 "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",43 "notify_url" : "https://api.test.com",44 "order_id" : "0000300001201908301055157220022",45 "package" : "DJIOSQPYWDxsjdldeuwhdodwxasd_dDiodnwjh9we"46}
# 错误码
# 公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
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开头的状态码都为系统问题,请使用相同参数稍后重新调用 |
文档是否有帮助