创建用户的签约计划详情对应的服务订单

更新时间:2024.11.18

根据用户签约的计划和对应要服务的计划详情序号,创建服务订单

接口说明

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

请求方式:【POST】/v3/payscore/sign-plan/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】支付分服务ID,需要是待创建订单对应支付分计划所属的服务ID


sign_plan_id  必填 string(32)

【待创建服务订单对应的用户的签约计划】由本商户创建的,待用户签约的支付分计划ID


plan_detail_no  必填 integer

【待创建服务订单对应的用户的签约计划详情序号】1.同时只能有一个计划有服务中的订单,要创建另一个签约计划详情的订单时首先要将上一个订单取消,或完结并等待支付成功;
2.不允许跳序号创建订单,必须要个按照签约计划详情的序号依次创建服务订单


appid  必填 string(32)

【服务商的AppID】服务商的AppID


sub_mchid  必填 string(32)

【子商户号】必须是待签约计划的归属子商户ID


sub_appid  选填 string(32)

【子商户的AppID】子商户的AppID


openid  选填 string(128)

【服务商公众号下的用户标识】与sub_OpenID二选一,OpenID与sub_OpenID必须填写并且只能填写一个


sub_openid  选填 string(128)

【子商户公众号下的用户标识】填写该字段则sub_AppID必填,与OpenID二选一,OpenID与sub_OpenID必须填写并且只能填写一个


notify_url  必填 string(256)

【商户扣款成功回调通知的地址】商户接收用户确认订单通知或扣款成功回调通知的地址


service_introduction  必填 string(20)

【服务信息】服务信息,用于介绍本订单所提供的服务,不填写默认为订单对应的签约的计划名称


time_range  必填 object

【服务时间】服务时间,用于用户侧展示

属性

location  选填 object

【服务位置】服务位置,用于用户侧展示

属性

attach  选填 string(256)

【附加数据】附加数据,可作为自定义参数使用,需要先URLEncode后传入,总长度不大于256字符,超出报错处理。


out_trade_no  必填 string(32)

【商户侧订单号】支付分订单在商户侧的订单号,必须和创建签约计划时传入的该笔订单对应的商户侧计划明细使用订单号(merchant_plan_detail_no)一致

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/payscore/sign-plan/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    "sign_plan_id" : "01000033210000324638000000376258",
9    "plan_detail_no" : 2,
10    "appid" : "wxd678efh567hg6787",
11    "sub_mchid" : "1900000109",
12    "sub_appid" : "wxd678efh567hg6999",
13    "openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
14    "sub_openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
15    "notify_url" : "https://api.test.com",
16    "service_introduction" : "羽毛球课基础练习课程",
17    "time_range" : {
18      "start_time" : "20091225091010",
19      "end_time" : "20091225121010",
20      "start_time_remark" : "备注1",
21      "end_time_remark" : "备注2"
22    },
23    "location" : {
24      "start_location" : "嗨客时尚主题展餐厅",
25      "end_location" : "嗨客时尚主题展餐厅"
26    },
27    "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",
28    "out_trade_no" : "1514323JSVDFE1243252"
29  }'
30

应答参数

200 OK

out_order_no  必填 string(32)

【商户订单号】调用接口传入的商户订单号


service_id  必填 string(32)

【服务ID】调用接口传入的服务ID


appid  必填 string(32)

【服务商公众号ID】调用接口传入的服务商公众号ID


mchid  必填 string(32)

【服务商商户号】调用接口传入的服务商商户号


sub_appid  选填 string(32)

【子商户公众号ID】调用接口传入的子商户公众号ID


sub_mchid  必填 string(32)

【子商户商户号】调用接口传入的子商户商户号


service_introduction  必填 string(20)

【服务信息】调用接口传入的服务信息


state  必填 string

【服务订单状态】

可选取值:

  • CREATED: 商户已创建服务订单

  • DOING: 服务订单进行中

  • DONE: 服务订单完成

  • REVOKED: 商户取消服务订单

  • EXPIRED: 服务订单已失效


state_description  选填 string

【订单状态说明】对服务订单"DOING"状态的附加说明.

可选取值:

  • USER_CONFIRM: 用户确认

  • MERCHANT_COMPLETE: 商户完结


post_payments  选填 array[object]

【后付费项目】根据订单对应的用户的签约计划详情生成

属性

post_discounts  选填 array[object]

【商户优惠】取自订单对应的用户的签约计划详情的优惠说明

属性

risk_fund  选填 object

【服务风险金】取自订单对应的计划明细

属性

time_range  选填 object

【服务时间】调用接口传入的服务时间

属性

location  选填 object

【服务位置】调用接口传入的服务位置

属性

attach  选填 string(256)

【附加数据】调用接口传入的附加数据


notify_url  选填 string(256)

【商户回调地址】调用接口传入的商户回调地址


order_id  选填 string(64)

【微信支付服务订单号】微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户订单号一一对应

应答示例

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" : "羽毛球课程基础训练",
9  "state" : "CREATED",
10  "state_description" : "USER_CONFIRM",
11  "post_payments" : [
12    {
13      "name" : "瑜伽课程20节",
14      "amount" : 40000,
15      "description" : "第6节课"
16    }
17  ],
18  "post_discounts" : [
19    {
20      "name" : "享9折优惠",
21      "amount" : 100
22    }
23  ],
24  "risk_fund" : {
25    "amount" : 10000
26  },
27  "time_range" : {
28    "start_time" : "20091225091010",
29    "end_time" : "20091225121010",
30    "start_time_remark" : "备注1",
31    "end_time_remark" : "备注2"
32  },
33  "location" : {
34    "start_location" : "嗨客时尚主题展餐厅",
35    "end_location" : "嗨客时尚主题展餐厅"
36  },
37  "attach" : "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",
38  "notify_url" : "https://api.test.com",
39  "order_id" : "0000300001201908301055157220022"
40}
41

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

400

INVALID_REQUEST

计划扣费次数和计划明细条数不一致

请确认待创建的支付分计划填写的扣费次数和计划详情数量是否一致

400

INVALID_REQUEST

前一笔实际扣费金额需大于等于后一笔实际扣费金额

请确认每一个计划明细的实际扣费金额必须小于等于上一个计划明细的实际扣费金额

400

PARAM_ERROR

计划明细中每一笔原扣费金额需要大于等于实际扣费金额

请确认每一个计划详情中的实际扣费金额必须小于等于本计划详情中的原扣费金额

400

INVALID_REQUEST

计划扣费金额和计划明细中扣费金额之和不一致

请核对计划的实际扣费总金额和每一个计划明细的实际扣费金和相同

400

INVALID_REQUEST

计划原扣费金额和计划明细中原扣费金额之和不一致

请核对计划的原扣费总金额和每一个计划明细的原扣费金和相同

400

PARAM_ERROR

总实付金额不能为0

请检查待创建的计划的总实付金额和原金额必须大于0

400

INVALID_REQUEST

无效的AppID,请检查AppID是否正确

检查填写的AppID和sub_appid是否合法

400

INVALID_REQUEST

商户和AppID未绑定

检查传入的AppID和调用API的商户是否有绑定关系,如果传入sub_appid,请检查调用API商户,传入子商户和sub_appid是否绑定

400

INVALID_REQUEST

子商户和发起方商户不存在受理关系

请检查填写的子商户号和发起API请求的商户是否绑定受理关系

400

INVALID_REQUEST

子商户未授权支付分产品权限

检查传入子商户是否授权调用API商户支付分产品权限

400

INVALID_REQUEST

商户暂无权限使用此服务

请检查调用方商户和传入子商户是否入驻了支付分服务

400

INVALID_REQUEST

此服务无按计划确认权限

请检查传入的支付分服务是否开通按计划确认权限

400

INVALID_REQUEST

实付金额必须小于最大风险金

请检查每一个计划明细的实付金额是否小于等于支付分服务规定的最大风险金

400

INVALID_REQUEST

计划的最长持续时间不能超过服务规定的计划最长时间

请检查待创建支付分计划的有效期是否小于等于服务规定的计划最长持续时间

400

INVALID_REQUEST

计划的最大扣费次数不能超过服务规定的最大扣费次数

请检查待创建支付分计划的扣费次数是否小于等于服务规定的最大扣费次数

400

INVALID_REQUEST

支付分计划单号已被使用,请检查

该商户侧计划号已经创建了对应支付分计划,且本次请求参数和已创建计划不一致,如需创建新的支付分计划请更换商户侧计划号重试

400

INVALID_REQUEST

请检查商户号填写是否正确

请检查填写的子商户号是否合法

400

PARAM_ERROR

签约计划详情序号不能重复

请核对签约计划对应的计划详情列表的商户侧单号信息中每一个计划明细序号不重复

400

PARAM_ERROR

商户侧计划明细使用订单号不能重复

请核对签约计划对应的计划详情列表的商户侧单号信息中每一个计划明细序号对应的商户侧计划明细使用订单号不重复

400

INVALID_REQUEST

发起签约的计划不存在

请检查传入的支付分计划号,或先创建一个支付分计划

403

NOAUTH

商户只能发起自身创建计划的签约

请检查待签约的计划创建商户和子商户是否是本次发起签约的商户和子商户

403

NOAUTH

服务ID和待签约计划所属服务ID不一致

请检查待签约的计划创建时的支付分服务和本次发起签约的支付分服务是否一致

400

INVALID_REQUEST

当前计划状态无法发起签约

请检查发起签约的计划状态是否为NORMAL

400

INVALID_REQUEST

发起签约时填写的计划详情数量和计划不一致

请检查签约计划对应的计划详情列表数量和待签约计划详情数量是否一致,确保每一个计划明细都有对应的商户侧计划明细使用订单号

400

INVALID_ORDER_STATE

单据状态错误

确认操作是否符合流程

400

INVALID_REQUEST

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

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

400

ORDER_CANCELED

单据已取消

当前状态无需操作

400

ORDER_DONE

订单已完成

当前状态无需操作

429

FREQUENCY_LIMITED

频率超限

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

 

 

反馈
咨询
目录
置顶