创建先用后付订单
更新时间:2024.10.29前置条件:无
接口说明
支持商户:【普通商户】
请求方式:【POST】/v3/payscore/servicepayondeliveryorder
请求域名:【主域名】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 包体参数
out_order_no 必填 string(32)
【商户服务订单号】 商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。详见[商户订单号](
appid 必填 string(32)
【公众账号ID】 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系.需要在本系统先进行配置.
service_id 必填 string(32)
【服务ID】 该服务ID有本接口对应产品的权限
service_introduction 必填 string(20)
【服务信息】 服务信息,用于介绍本订单所提供的服务
post_payments 选填 array[Payment]
【后付费项目】 后付费项目列表,最多包含100条付费项目
| 属性 | |
name 选填 string(20) 【付费名称】 不超过20个字符,超出报错处理 amount 选填 integer 【付费金额】 此付费项目总金额,大于等于0,单位为分,等于0时代表不需要扣费 description 选填 string(30) 【付费说明】 描述计费规则,不超过30个字符,超出报错处理 count 选填 integer 【付费数量】 付费项目的数量 |
post_discounts 选填 array[ServiceOrderCoupon]
【商户优惠】 商户优惠列表,最多包含30条商户优惠
| 属性 | |
name 选填 string(20) 【优惠名称】 优惠名称说明 description 选填 string(30) 【优惠说明】 优惠使用条件说明 amount 选填 integer 【优惠金额】 优惠金额 count 选填 integer 【优惠数量】 优惠项目的个数 |
time_range 必填 object
【服务时间段】
| 属性 | |
start_time 选填 string(14) 【服务开始时间】 【用户端展示用途】 end_time 选填 string(14) 【服务结束时间】 用户端展示用途,支持两种格式:yyyyMMddHHmmss和yyyyMMdd 传入20091225091010表示2009年12月25日9点10分10秒 传入20091225默认认为时间为2009年12月25日23点59分59秒 start_time_remark 选填 string(20) 【服务开始时间备注】 备注 end_time_remark 选填 string(20) 【服务结束时间备注】 备注 |
location 选填 object
【服务位置】
| 属性 | |
start_location 选填 string(50) 【服务开始地点】 开始使用服务的地点. 不超过50个字符,超出报错处理;
end_location 选填 string(50) 【服务结束地点】 结束使用服务的地点. 不超过50个字符,超出报错处理 |
risk_fund 必填 object
【服务风险金】
| 属性 | |
name 必填 string(30) 【风险名称】 1.【评估不通过:交押金】模式:由微信支付分指定名称,商户可选择一种: 押金[DEPOSIT]、预付款[ADVANCE]、保证金[CASH_DEPOSIT] (若微信支付分提供的名称,商户均认为不合适,需联系微信支付分新增合适的名称) 2.【评估不通过:拒绝】模式:默认 ESTIMATE_ORDER_COST [预估订单费用] amount 必填 integer 【风险金额】 1.数字,必须>0(单位分) 2.风险金额≤每个服务ID的风险金额上限。 3.当商户优惠字段为空时,付费项目总金额≤风险金额 (未填写金额的付费项目,视为该付费项目金额为0) description 选填 string(30) 【风险说明】 文字,不超过30个字 |
attach 选填 string(256)
【商户数据包】 商户数据包,可存放本订单所需信息,需要先urlencode后传入,总长度不大于256字符,超出报错处理。
notify_url 必填 string(255)
【商户回调地址】 商户接收用户确认订单或扣款成功回调通知的地址
openid 选填 string(128)
【用户标识】 微信用户在商户对应appid下的唯一标识
need_user_confirm 选填 boolean
【是否需要用户确认】 false:不需要;true:需要确认
mchid 选填 string(32)
【商户号】 直连商户号:平台商必填
shopping_info 必填 object
【先用后付购物详情】 先用后付订单的购物详情信息,必填
| 属性 | |||||||||
real_merchant_appid 选填 string(32) 【实际购物商家公众号ID】 必须是创建订单时的服务商应用ID或子商户应用ID之一 jump_link 必填 object 【单详跳转链接】 商家侧购物订单详情页的跳转链接
goods 必填 array[object] 【商品列表】 本次订单用户购买的商品
|
请求示例
POST
应答参数
200 OK
appid 必填 string(32)
【公众账号ID】 调用接口提交的公众账号ID
mchid 必填 string(32)
【商户号】 调用接口提交的商户号
out_order_no 必填 string(32)
【商户服务订单号】 调用接口提交的商户服务订单号
service_id 必填 string(32)
【服务ID】 调用该接口提交的服务ID
service_introduction 必填 string(20)
【服务信息】 服务信息,用于介绍本订单所提供的服务
state 必填 string(32)
【服务订单状态】 表示当前单据状态. CREATED:商户已创建服务订单; GOING: 服务订单进行中 FINISHED: 服务订单完成; REVOKED: 商户取消服务订单; EXPIRED:服务订单已失效,"商户已创建服务订单"状态超过1小时未变动,则订单失效
state_description 选填 string
【订单状态说明】 对服务订单"进行中"状态的附加说明:USER_CONFIRM: 用户确认;MCH_COMPLETE:商户完结;
post_payments 选填 array[object]
【后付费项目】
| 属性 | |
name 选填 string(20) 【付费名称】 不超过20个字符,超出报错处理 amount 选填 integer 【付费金额】 此付费项目总金额,大于等于0,单位为分,等于0时代表不需要扣费 description 选填 string(30) 【付费说明】 描述计费规则,不超过30个字符,超出报错处理 count 选填 integer 【付费数量】 付费项目的数量 |
post_discounts 选填 array[object]
【后付费商户优惠】
| 属性 | |
name 选填 string(20) 【优惠名称】 优惠名称说明 description 选填 string(30) 【优惠说明】 优惠使用条件说明 amount 选填 integer 【优惠金额】 优惠金额 count 选填 integer 【优惠数量】 优惠项目的个数 |
risk_fund 选填 object
【服务风险金】
| 属性 | |
name 必填 string(30) 【风险名称】 1.【评估不通过:交押金】模式:由微信支付分指定名称,商户可选择一种: 押金[DEPOSIT]、预付款[ADVANCE]、保证金[CASH_DEPOSIT] (若微信支付分提供的名称,商户均认为不合适,需联系微信支付分新增合适的名称) 2.【评估不通过:拒绝】模式:默认 ESTIMATE_ORDER_COST [预估订单费用] amount 必填 integer 【风险金额】 1.数字,必须>0(单位分) 2.风险金额≤每个服务ID的风险金额上限。 3.当商户优惠字段为空时,付费项目总金额≤风险金额 (未填写金额的付费项目,视为该付费项目金额为0) description 选填 string(30) 【风险说明】 文字,不超过30个字 |
time_range 选填 object
【服务时间段】 服务使用的开始时间和结束时间
| 属性 | |
start_time 选填 string(14) 【服务开始时间】 【用户端展示用途】 end_time 选填 string(14) 【服务结束时间】 用户端展示用途,支持两种格式:yyyyMMddHHmmss和yyyyMMdd 传入20091225091010表示2009年12月25日9点10分10秒 传入20091225默认认为时间为2009年12月25日23点59分59秒 start_time_remark 选填 string(20) 【服务开始时间备注】 备注 end_time_remark 选填 string(20) 【服务结束时间备注】 备注 |
location 选填 object
【服务位置】 服务使用的开始位置和结束位置
| 属性 | |
start_location 选填 string(50) 【服务开始地点】 开始使用服务的地点. 不超过50个字符,超出报错处理;
end_location 选填 string(50) 【服务结束地点】 结束使用服务的地点. 不超过50个字符,超出报错处理 |
attach 选填 string(256)
【商户数据包】 商户数据包,可存放本订单所需信息,需要先urlencode后传入,总长度不大于256字符,超出报错处理。
notify_url 选填 string(256)
【商户回调地址】 商户接收用户确认订单或扣款成功回调通知的地址
order_id 必填 string(64)
【微信支付服务订单号】 微信支付服务订单号 每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应
package 必填 string(300)
【跳转微信侧小程序订单数据】 用于跳转到微信侧小程序订单数据,跳转到微信侧小程序传入
shopping_info 选填 object
【先用后付购物详情】
| 属性 | |||||||||
real_merchant_appid 选填 string(32) 【实际购物商家公众号ID】 必须是创建订单时的服务商应用ID或子商户应用ID之一 jump_link 必填 object 【单详跳转链接】 商家侧购物订单详情页的跳转链接
goods 必填 array[object] 【商品列表】 本次订单用户购买的商品
|
应答示例
200 OK
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
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开头的状态码都为系统问题,请使用相同参数稍后重新调用 |

