目录
测试地址:http://116.228.64.55:28082/yst-service-api/tx/handle
生产地址:https://ibsapi.allinpay.com/yst-service-api/tx/handle
接口代码(transCode):4006
功能说明:
1、该接口作为微信支付分模式的前置接口,即商户通过微信支付分的支付模式调用【2085--消费申请】接口前,会先调用此接口进行支付分服务单的创建、完结等操作。
2、支付分服务单分需确认和免确认两种模式,根据客户的实际开通情况进行选择。
3、对接模式说明:
【需确认订单模式】:为订单维度的授权,是单次授权。用户授权了当前这一笔订单后,商户仅能针对当前订单调用一次支付分的订单创建、完结和扣款;
调用接口&客户操作流程:
(1)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:4--创建服务单;
(2) 根据返回的package(跳转微信侧数据包),调用前端方法跳转至微信,让用户完成确认订单操作;
根据用户使用场景可通过以下前端方法可调起微信客户端:
(3)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:5--完结服务单;
(4)【2085-消费申请】、【2089--担保消费】接口,payMode(支付模式)上送--WECHAT_SCORE_VSP(微信支付分)。
【免确认订单模式】:为商户服务维度的授权,是长期授权。用户授权了该商户服务后,商户可以通过后台接口进行支付分的订单创建、完结和扣款;
调用接口&客户操作流程:
(1)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:2--预授权查询;
情况A:查询到的authorizationState(授权状态)为:AVAILABLE: 用户已授权服务
(2)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:4--创建服务单,服务单创建后可以给消费者提供相应的服务;
(3)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:5--完结服务单;
(4)【2085-消费申请】、【2089--担保消费】接口,payMode(支付模式)上送--WECHAT_SCORE_VSP(微信支付分)。
情况B:查询到的authorizationState(授权状态)不是:AVAILABLE: 用户已授权服务
(2)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:1--预授权;
(3) 根据返回的applyPermissionsToken(预授权token),调用前端方法跳转进入微信中让用户进行授权;
根据用户使用场景可通过以下前端方法可调起微信客户端:
(4)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:4--创建服务单,服务单创建后可以给消费者提供相应的服务;
(5)【4006-支付分服务单管理】接口,opType(服务单操作类型)上送:5--完结服务单;
(6)【2085-消费申请】、【2089--担保消费】接口,payMode(支付模式)上送--WECHAT_SCORE_VSP(微信支付分)。
业务请求参数
字段 |
字段类型 |
字段长度 |
必填 |
字段名称 |
说明 |
vspCusid |
String |
15 |
否 |
收银宝商户号 |
集团模式必填 |
opType |
String |
1 |
是 |
服务单操作类型 |
1-预授权 2-预授权查询 3-解除预授权 4-创建服务单 5-完结服务单 6-查询服务单 7-取消服务单 8-服务单修改金额 9-服务单同步 |
serviceId |
String |
32 |
是 |
服务ID |
微信分配的服务ID |
bizParam |
String |
是 |
业务参数 |
各操作类型对应的业务参数 |
业务响应参数
字段 |
字段类型 |
字段长度 |
必填 |
字段名称 |
说明 |
respCode |
String |
是 |
业务返回码 |
||
respMsg |
String |
200 |
是 |
失败原因 |
上传失败时返回 |
vspCusid |
String |
15 |
否 |
收银宝商户号 |
|
bizParam |
String |
否 |
业务响应参数 |
各业务参数字段说明
(1)【预授权(免确认服务单)】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
authorizationCode |
String |
是 |
授权协议号 |
商户系统内部授权协议号,要求此参数只能由数字、大小写字母_-*组成,且在同一个应用号下唯一。 |
subAppId |
String |
否 |
子商户的公众号ID |
微信公众平台分配的与传入的子商户商户号建立了支付绑定关系的AppID |
notifyUrl |
String |
是 |
通知地址 |
授权成功回调通知地址 |
响应参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
applyPermissionsToken |
String |
是 |
预授权token |
用于跳转到微信侧小程序授权数据,跳转到微信侧小程序传入 |
(2)【预授权查询(免确认服务单)】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
authorizationCode |
String |
是 |
授权协议号 |
商户系统内部授权协议号,要求此参数只能由数字、大小写字母_-*组成,且在同一个应用号下唯一。 |
响应参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
serviceId |
String |
是 |
服务id |
微信分配的服务id |
openId |
String |
否 |
用户标识 |
通联机构的openid |
subAppId |
String |
否 |
子商户的公众号ID |
微信公众平台分配的与传入的子商户商户号建立了支付绑定关系的AppID |
subOpenId |
String |
否 |
子商户的用户标识 |
子商户的AppID下的用户标识 |
authorizationCode |
String |
否 |
授权协议号 |
预授权成功时的授权协议号 |
authorizationState |
String |
是 |
授权状态 |
UNAVAILABLE: 用户未授权服务 AVAILABLE: 用户已授权服务 UNBINDUSER: 未绑定用户 |
cancelAuthorizationTime |
String |
否 |
最近一次解除授权时间 |
最近一次解除授权时间,采用Rfc3339时间格式,例如: 2015-05-20T13:29:35+08:00 |
authorizationSuccessTime |
String |
否 |
最近一次授权成功时间 |
最近一次授权成功时间,采用Rfc3339时间格式,例如: 2015-05-20T13:29:35+08:00 |
userLabel |
String |
否 |
用户标签 |
用户标签,仅授权成功时返回(并且不保证一定返回) 枚举值:A、B、C(其中A>B>C) |
channelId |
String |
否 |
渠道商商户号 |
(3)【解除预授权(免确认服务单)】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
authorizationCode |
String |
是 |
授权协议号 |
预授权成功时的授权协议号 |
reason |
String |
是 |
撤销原因 |
响应参数
处理成功,返回码为00000,无返回业务参数。
(4)【创建支付分服务单】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
serviceIntroduction |
String |
是 |
服务信息 |
服务信息,用于介绍本订单所提供的服务 |
postPayments |
JSONArray |
是 |
后付费项目 |
后付费项目列表,最多包含100条付费项目,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name是选填; 2. 若name非空: amount和description,二者必须填其一,也可同时填写; 完结订单接口: 1. name和amount是必填; |
postDiscounts |
JSONArray |
否 |
商户优惠 |
body商户优惠列表,最多包含30条商户优惠,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name和description是选填,但是要填写的话,须同时填写; 完结订单接口: 1. 若name和description非空,amount金额必填; 2. 优惠项目名称可以重复 3. 订单优惠项目,均以完结订单传入的信息为准; |
riskFund |
JSONObject |
是 |
服务风险金 |
用于微信支付分对本次服务进行风险评估 |
timeRange |
JSONObject |
是 |
服务时间 |
服务时间,用于用户侧展示 |
location |
JSONObject |
否 |
服务位置 |
服务位置,用于用户侧展示 |
subAppId |
String |
否 |
子商户的公众号ID |
微信公众平台分配的与传入的子商户商户号建立了支付绑定关系的AppID |
subOpenId |
String |
否 |
子商户的用户标识 |
子商户的AppID下的用户标识,免确认模式必填 |
needUserConfirm |
boolean |
否 |
是否需要用户确认 |
false: 不需要; true: 需要确认(默认false) |
notifyUrl |
String |
是 |
通知地址 |
回调通知地址 |
attach |
String |
是 |
附加数据 |
附加数据,可作为自定义参数使用,需要先urlencode后传入 |
postPayments的明细字段:
字段 |
类型 |
必填 |
字段名称 |
说明 |
name |
String |
否 |
付费名称 |
相同服务单号下不能出现相同的付费项目名称(付费项目名称为“商品信息”时除外,即可传入多条“商品信息”),当参数长度超过20个字符时,报错处理。 示例值:就餐费用, 服务费 |
amount |
Long |
否 |
付费金额 |
此付费项目总金额,大于等于0,单位为分,等于0时代表不需要扣费,只能为整数。如果填写了“付费项目名称”,则amount或description必须填写其一,或都填。 示例值:40000 |
description |
String |
否 |
付费说明 |
描述计费规则,不超过30个字符,超出报错处理。如果填写了“付费项目名称”,则amount或description必须填写其一,或都填。 示例值:就餐人均100元,服务费:100/小时 |
count |
Long |
否 |
付费数量 |
付费项目的数量。 特殊规则:数量限制100,不填时默认1。 |
postDiscounts的明细字段:
字段 |
类型 |
必填 |
字段名称 |
说明 |
name |
String |
否 |
优惠名称 |
优惠名称说明;name和description若填写,则必须同时填写,优惠名称不可重复描述。 示例值:满20减1元 |
amount |
Long |
否 |
优惠金额 |
优惠金额 |
description |
String |
否 |
优惠说明 |
优惠使用条件说明。 name和description若填写,则必须同时填写。 |
count |
Long |
否 |
优惠数量 |
优惠的数量。 特殊规则:数量限制100,不填时默认1 示例值:2 |
riskFund的明细字段:
字段 |
类型 |
必填 |
字段名称 |
说明 |
name |
String |
是 |
风险名称 |
1.【评估不通过:交押金】模式:由微信支付分指定名称,商户可选择一种: 押金[DEPOSIT]、预付款[ADVANCE]、保证金[CASH_DEPOSIT] (若微信支付分提供的名称,商户均认为不合适,需联系微信支付分新增合适的名称) 2.【评估不通过:拒绝】模式:默认 ESTIMATE_ORDER_COST [预估订单费用] |
amount |
Long |
是 |
风险金额 |
1.数字,必须>0(单位分) 2.风险金额≤每个服务ID的风险金额上限。 3.当商户优惠字段为空时,付费项目总金额≤风险金额 (未填写金额的付费项目,视为该付费项目金额为0) |
description |
String |
否 |
风险说明 |
文字,不超过30个字。 示例值:就餐的预估费用 |
timeRange的明细字段:
字段 |
类型 |
必填 |
字段名称 |
说明 |
startTime |
String |
否 |
服务开始时间 |
【用户端展示用途】 【创建订单接口:是必填项】 用户下单时确认的服务开始时间(比如用户今天下单,明天开始接受服务,这里指的是明天的服务开始时间). 支持三种格式: "yyyyMMddHHmmss"、"yyyyMMdd" 和 "OnAccept": 传入20091225091010表示2009年12月25日9点10分10秒 传入20091225默认认为时间为2009年12月25日0点0分0秒 传入OnAccept表示用户确认订单成功时间为【服务开始时间】 【服务开始时间】不能早于调用接口时间。 |
endTime |
String |
否 |
预计服务结束时间 |
|
startTimeRemark |
String |
否 |
服务开始时间备注 |
|
endTimeRemark |
String |
否 |
服务结束时间备注 |
location的明细字段:
字段 |
类型 |
必填 |
字段名称 |
说明 |
startLocation |
String |
否 |
服务开始地点 |
开始使用服务的地点. 不超过50个字符,超出报错处理; 接口选填说明: 1. 创建订单接口:可填入; 2. 完结订单接口:不填写; |
endLocation |
String |
否 |
服务结束地点 |
结束使用服务的地点. 不超过50个字符,超出报错处理 |
响应参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
chnlOrderNo |
String |
是 |
渠道服务单号 |
渠道服务单号(不是交易单号)对应微信端的商户单号 |
serviceIntroduction |
String |
是 |
服务信息 |
服务信息,用于介绍本订单所提供的服务 |
subAppId |
String |
否 |
子商户的公众号ID |
|
subMchId |
String |
是 |
子商户商户号 |
|
subOpenId |
String |
否 |
子商户的用户标识 |
子商户的AppID下的用户标识 |
channelId |
String |
是 |
渠道商商户号 |
|
state |
String |
是 |
服务服务单状态 |
CREATED: 服务服务单已创建 DOING: 服务服务单进行中 DONE: 服务服务单已完成 REVOKED: 商户取消服务服务单 EXPIRED: 服务服务单已失效, "CREATED"状态超过1小时未变动,则服务单失效 示例值:CREATED |
stateDescription |
String |
否 |
订单状态说明 |
对服务订单"DOING"状态的附加说明. USER_CONFIRM: 用户确认 MCH_COMPLETE:商户完结 示例值:MCH_COMPLETE |
postPayments |
JSONArray |
是 |
后付费项目 |
后付费项目列表,最多包含100条付费项目,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name是选填; 2. 若name非空: amount和description,二者必须填其一,也可同时填写; 完结订单接口: 1. name和amount是必填; |
postDiscounts |
JSONArray |
否 |
商户优惠 |
body商户优惠列表,最多包含30条商户优惠,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name和description是选填,但是要填写的话,须同时填写; 完结订单接口: 1. 若name和description非空,amount金额必填; 2. 优惠项目名称可以重复 3. 订单优惠项目,均以完结订单传入的信息为准; |
riskFund |
JSONObject |
是 |
服务风险金 |
用于微信支付分对本次服务进行风险评估 |
timeRange |
JSONObject |
是 |
服务时间 |
服务时间,用于用户侧展示 |
location |
JSONObject |
否 |
服务位置 |
服务位置,用于用户侧展示 |
orderId |
String |
否 |
微信支付服务服务单号 |
微信支付服务服务单号,每个微信支付服务服务单号与商户号下对应的商户服务服务单号一一对应。 示例值:15646546545165651651 |
package |
String |
否 |
跳转微信侧数据包 |
确认订单流程,商户前端跳转到微信侧传入的数据包 |
needUserConfirm |
boolean |
否 |
是否需要用户确认 |
false: 不需要; true: 需要确认(默认false) |
notifyUrl |
String |
是 |
通知地址 |
回调通知地址 |
attach |
String |
是 |
附加数据 |
附加数据,可作为自定义参数使用,需要先urlencode后传入 |
orderSign |
String |
是 |
服务单信息签名 |
用于客户的app、小程序调起支付分服务单详情页 json字符串 |
其中 orderSign的字段如下:
字段 |
类型 |
必填 |
字段名称 |
说明 |
mchId |
String |
是 |
服务开始地点 |
开始使用服务的地点. 不超过50个字符,超出报错处理; 接口选填说明: 1. 创建订单接口:可填入; 2. 完结订单接口:不填写; |
serviceId |
String |
是 |
服务id |
|
outOrderNo |
String |
是 |
商户侧单号 |
调用开启服务接口提交的商户请求唯一标识 |
timestamp |
String |
是 |
时间戳 |
生成签名时间戳,单位秒 示例值:1530097563 |
(5)【查询支付分服务单】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
queryId |
String |
是 |
单据查询ID |
确认服务单流程,微信侧回跳到商户前端时,携带的用于单据查询的ID。商户服务单号与单据查单ID必填其一 |
响应参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
chnlOrderNo |
String |
是 |
渠道服务单号 |
渠道服务单号(不是交易单号)对应微信端的商户单号 |
serviceIntroduction |
String |
是 |
服务信息 |
服务信息,用于介绍本订单所提供的服务 |
subAppId |
String |
否 |
子商户的公众号ID |
|
subMchId |
String |
是 |
子商户商户号 |
|
subOpenId |
String |
否 |
子商户的用户标识 |
子商户的AppID下的用户标识 |
channelId |
String |
是 |
渠道商商户号 |
|
state |
String |
是 |
服务服务单状态 |
CREATED: 服务服务单已创建 DOING: 服务服务单进行中 DONE: 服务服务单已完成 REVOKED: 商户取消服务服务单 EXPIRED: 服务服务单已失效, "CREATED"状态超过1小时未变动,则服务单失效 示例值:CREATED |
stateDescription |
String |
否 |
订单状态说明 |
对服务订单"DOING"状态的附加说明. USER_CONFIRM: 用户确认 MCH_COMPLETE:商户完结 示例值:MCH_COMPLETE |
postPayments |
JSONArray |
是 |
后付费项目 |
后付费项目列表,最多包含100条付费项目,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name是选填; 2. 若name非空: amount和description,二者必须填其一,也可同时填写; 完结订单接口: 1. name和amount是必填; |
postDiscounts |
JSONArray |
否 |
商户优惠 |
body商户优惠列表,最多包含30条商户优惠,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name和description是选填,但是要填写的话,须同时填写; 完结订单接口: 1. 若name和description非空,amount金额必填; 2. 优惠项目名称可以重复 3. 订单优惠项目,均以完结订单传入的信息为准; |
riskFund |
JSONObject |
是 |
服务风险金 |
用于微信支付分对本次服务进行风险评估 |
totalAmount |
Long |
否 |
总金额 |
调用接口传入的总金额 |
needCollection |
boolean |
否 |
是否需要收款 |
调用接口传入的是否需要收款 |
collection |
JSONObject |
否 |
收款信息 |
收款成功后,展示具体的收款信息 |
timeRange |
JSONObject |
是 |
服务时间 |
服务时间,用于用户侧展示 |
location |
JSONObject |
否 |
服务位置 |
服务位置,用于用户侧展示 |
orderId |
String |
否 |
微信支付服务服务单号 |
微信支付服务服务单号,每个微信支付服务服务单号与商户号下对应的商户服务服务单号一一对应。 示例值:15646546545165651651 |
needUserConfirm |
boolean |
否 |
是否需要用户确认 |
false: 不需要; true: 需要确认(默认false) |
attach |
String |
是 |
附加数据 |
附加数据,可作为自定义参数使用,需要先urlencode后传入 |
其中 collection的字段如下:
字段 |
类型 |
必填 |
字段名称 |
说明 |
state |
String |
是 |
收款状态 |
USER_PAYING:待支付; USER_PAID:已支付 示例值:USER_PAID |
totalAmount |
Long |
否 |
总收款金额 |
总金额,大于等于0的数字,单位为分 需满足:总金额付费项目金额之和-商户优惠项目金额之和<=订单风险金额 未使用服务,取消订单时,该字段必须填0. 示例值:50000 |
payingAmount |
Long |
否 |
待收金额 |
等待用户付款金额 示例值:40000 |
paidAmount |
Long |
否 |
已收金额 |
用户已付款的金额 示例值:10000 |
details |
JSONArray |
否 |
收款明细列表 |
收款明细列表 |
其中 details的字段如下:
字段 |
类型 |
必填 |
字段名称 |
说明 |
seq |
Long |
否 |
收款序号 |
从1开始递增 示例值:1 |
amount |
Long |
否 |
单笔收款金额 |
单笔收款动作的金额 示例值:10000 |
paidType |
String |
否 |
收款成功渠道 |
微信支付分:NEWTON; 商户渠道: MCH 冗怜梧例值:NEWTON |
paidTime |
String |
否 |
收款成功时间 |
支付成功时间,支持两种格式:yyyyMMddHHmmss和yyyyMMdd 示例值:20091225091210 |
transactionId |
String |
否 |
微信支付交易单号 |
结单交易单号,等于普通支付接口中的transaction id可以使用该订单号在APP支付->API列表->查询订单进行查询订单、申请退款。只有单据状态为USER PAID且收款成功渠道为支付分渠道,才会返回结单交易单号、 示例值:15646546545165651651 |
promotionDetail |
JSONArray |
否 |
优惠功能 |
优惠功能 |
其中 promotionDetail的字段如下:
字段 |
类型 |
必填 |
字段名称 |
说明 |
couponId |
String |
是 |
券ID |
券ID 示例值:123456 |
name |
String |
否 |
优惠名称 |
优惠名称 示例值:单品优惠-6 |
scope |
String |
否 |
优惠范围 |
GLOBAL:全场代金券 SINGLE:单品优惠 示例值:GLOBAL |
type |
String |
否 |
优惠类型 |
CASH:充值; NOCASH:免充值。 示例值:CASH |
amount |
Long |
是 |
优惠券面额 |
优惠券面额 示例值:100 |
stockId |
String |
否 |
活动ID |
活动ID,批次ID 示例值:activity_id |
wechatpayContribute |
Long |
否 |
微信出资 |
微信出资 示例值:100 |
merchantContribute |
Long |
否 |
商户出资 |
商户出资 示例值:100 |
otherContribute |
Long |
否 |
其他出资 |
其他出资 示例值:100 |
currency |
String |
否 |
优惠币种 |
CNY:人民币,境内商户号仅支持人民币 示例值:CNY |
goodsDetail |
JSONArray |
否 |
单品列表 |
单品列表 |
其中 goodsDetail的字段如下:
字段 |
类型 |
必填 |
字段名称 |
说明 |
goodsId |
String |
是 |
商品编码 |
商品编码 谌耥倡例值:M1006 |
quantity |
Long |
否 |
商品数量 |
单笔收款动作的金额 示例值:10000 |
unitPrice |
Long |
否 |
商品价格 |
商品价格 示例值:1 |
discountAmount |
Long |
否 |
商品价格 |
商品优惠金额 示例值:100 |
goodsRemark |
String |
否 |
商品备注 |
商品备注 示例值:商品备注信息 |
(6)【完结支付分服务单】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
postPayments |
JSONArray |
是 |
后付费项目 |
后付费项目列表,最多包含100条付费项目,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name是选填; 2. 若name非空: amount和description,二者必须填其一,也可同时填写; 完结订单接口: 1. name和amount是必填; |
postDiscounts |
JSONArray |
否 |
商户优惠 |
body商户优惠列表,最多包含30条商户优惠,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name和description是选填,但是要填写的话,须同时填写; 完结订单接口: 1. 若name和description非空,amount金额必填; 2. 优惠项目名称可以重复 3. 订单优惠项目,均以完结订单传入的信息为准; |
totalAmount |
Long |
是 |
||
timeRange |
JSONObject |
否 |
实际服务时间 |
实际服务时间,创建订单未填写服务结束时间,则完结的时候,服务结束时间必填 |
completeTime |
String |
完结服务时间 |
body时间使用ISO 8601所定义的格式 示例: - YYYY-MM-DDTHH:mm:ss.SSSZ - YYYY-MM-DDTHH:mm:ssZ - YYYY-MM-DDTHH:mm:ss.SSS+08:00 - YYYY-MM-DDTHH:mm:ss+08:00 示例值:2019-11-11T16:24:05+08:00 |
|
location |
JSONObject |
否 |
实际服务位置 |
实际服务位置,覆盖创建订单时的服务位置,用于用户端展示 |
响应参数
处理成功,返回码为00000,无返回业务参数。
(7)【取消支付分服务单】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
reason |
String |
是 |
撤销原因 |
响应参数
处理成功,返回码为00000,无返回业务参数。
(8)【服务单修改金额】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
postPayments |
JSONArray |
是 |
后付费项目 |
后付费项目列表,最多包含100条付费项目,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name是选填; 2. 若name非空: amount和description,二者必须填其一,也可同时填写; 完结订单接口: 1. name和amount是必填; |
postDiscounts |
JSONArray |
否 |
商户优惠 |
body商户优惠列表,最多包含30条商户优惠,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name和description是选填,但是要填写的话,须同时填写; 完结订单接口: 1. 若name和description非空,amount金额必填; 2. 优惠项目名称可以重复 3. 订单优惠项目,均以完结订单传入的信息为准; |
totalAmount |
Long |
是 |
总金额 |
金额:数字,必须≥0(单位:分) 2. 总金额 =(付费项目1+...+付费项目n)-(商户优惠1+…+完结商户优惠n) 3. 总金额上限 1)【评估不通过:交押金】模式:总金额≤创单时填写的“订单风险金额” 2)【评估不通过:拒绝】模式:总金额≤“服务风险金额” 示例值:50000 |
reason |
String |
是 |
原因 |
响应参数
处理成功,返回码为00000,无返回业务参数。
(9)【服务单同步】
请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
type |
String |
是 |
场景类型 |
Order_Paid---订单收款成功 |
detail |
JSONObject |
是 |
内容消息详情 |
其中 detail的字段如下:
字段 |
类型 |
必填 |
字段名称 |
说明 |
paidTime |
String |
是 |
收款成功时间 |
支持两种格式: yyyyMMddHHmmss yyyyMMdd 用户通过其他方式付款成功的实际时间,需满足条件: 服务开始时间<调用商户完结订单接口的时间<用户通过其他方式付款成功的实际时间≤商户调用支付分订单同步接口的时间+60秒 注:【服务开始时间】 1、当完结订单有填写【实际服务开始时间】时,【服务开始时间】=完结订单【实际服务开始时间】 2、当完结订单未填写【实际服务开始时间】时,【服务开始时间】=创建订单【服务开始时间】 场景类型为“Order_Paid”时,必填 注:微信支付分会根据此时间更新用户侧的守约记录、负面记录信息;因此请务必如实填写用户实际付款成功时间,以免造成不必要的客诉 |
响应参数
处理成功,返回码为00000,无返回业务参数。
【支付分服务单回调通知】
功能说明:
(1)预授权确认、解除预授权、服务单确认后,云商通二代会向请求时上送的notify_url发送回调通知,告知客户相应的处理结果;
业务请求参数
字段 |
类型 |
必填 |
字段名称 |
说明 |
vspCusid |
String |
是 |
收银宝子商户号 |
|
eventType |
String |
是 |
通知类型 |
PAYSCORE.USER_OPEN_SERVICE--授权成功通知 PAYSCORE.USER_CLOSE_SERVICE--解除授权成功通知 PAYSCORE.USER_CONFIRM --用户确认成功通知 PAYSCORE.USER_PAID --支付成功通知 |
summary |
String |
是 |
回调摘要 |
|
bizData |
JSONObject |
是 |
业务参数 |
(1)授权/解除授权回调通知
字段 |
类型 |
必填 |
字段名称 |
说明 |
serviceId |
String |
是 |
服务id |
微信分配的服务id |
channelId |
String |
是 |
渠道商商户号 |
调用授权服务接口提交的渠道商商户号。 |
openId |
String |
否 |
用户标识 |
通联机构的openid |
subAppId |
String |
否 |
子商户的公众号ID |
微信公众平台分配的与传入的子商户商户号建立了支付绑定关系的AppID |
subMchId |
String |
否 |
子商户商户号 |
|
subOpenId |
String |
否 |
子商户的用户标识 |
子商户的AppID下的用户标识 |
authorizationCode |
String |
否 |
授权协议号 |
预授权成功时的授权协议号 |
userServiceStatus |
String |
是 |
回调状态 |
1、USER_OPEN_SERVICE:授权成功 2、USER_CLOSE_SERVICE:解除授权成功 示例值:USER_OPEN_SERVICE |
openorcloseTime |
String |
否 |
服务授权/解除授权时间 |
示例值:20180225112233 |
(2)服务单确认以及付款完毕通知
字段 |
类型 |
必填 |
字段名称 |
说明 |
outOrderNo |
String |
是 |
商户订单号 |
商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
chnlOrderNo |
String |
是 |
渠道服务单号 |
渠道服务单号(不是交易单号)对应微信端的商户单号 |
serviceIntroduction |
String |
是 |
服务信息 |
服务信息,用于介绍本订单所提供的服务 |
subAppId |
String |
否 |
子商户公众号ID |
子商户公众号AppID |
subMchId |
String |
是 |
子商户商户号 |
|
subOpenId |
String |
否 |
子商户的用户标识 |
子商户的AppID下的用户标识 |
channelId |
String |
是 |
渠道商商户号 |
|
state |
String |
是 |
服务订单状态 |
CREATED: 服务订单已创建 DOING: 服务订单进行中 DONE: 服务订单已完成 REVOKED: 商户取消服务订单 EXPIRED: 服务订单已失效, "CREATED"状态超过1小时未变动,则订单失效 示例值:CREATED |
stateDescription |
String |
否 |
订单状态说明 |
对服务订单"DOING"状态的附加说明. USER_CONFIRM: 用户确认 MCH_COMPLETE:商户完结 示例值:MCH_COMPLETE |
postPayments |
JSONArray |
是 |
后付费项目 |
后付费项目列表,最多包含100条付费项目,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name是选填; 2. 若name非空: amount和description,二者必须填其一,也可同时填写; 完结订单接口: 1. name和amount是必填; |
postDiscounts |
JSONArray |
否 |
商户优惠 |
body商户优惠列表,最多包含30条商户优惠,用于用户侧展示与完结订单时的总金额计算创建订单接口: 1. name和description是选填,但是要填写的话,须同时填写;
完结订单接口: 1. 若name和description非空,amount金额必填; 2. 优惠项目名称可以重复 3. 订单优惠项目,均以完结订单传入的信息为准; |
riskFund |
JSONObject |
是 |
服务风险金 |
用于微信支付分对本次服务进行风险评估 |
totalAmount |
Long |
否 |
总金额 |
调用接口传入的总金额 |
needCollection |
boolean |
否 |
是否需要收款 |
调用接口传入的是否需要收款 |
collection |
JSONObject |
否 |
收款信息 |
收款成功后,展示具体的收款信息 |
timeRange |
JSONObject |
是 |
服务时间 |
服务时间,用于用户侧展示 |
location |
JSONObject |
否 |
服务位置 |
服务位置,用于用户侧展示 |
orderId |
String |
否 |
微信支付服务订单号 |
微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户订单号一一对应 |
attach |
String |
是 |
附加数据 |
附加数据,可作为自定义参数使用,需要先urlencode后传入 |