创建用户的签约计划详情对应的服务订单
更新时间: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
应答参数
|
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
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
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 | 频率超限 | 请求量不要超过接口调用频率限制 |