通过确认订单通知接口将用户确认订单消息通知给商户
注意:
• 同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。 推荐的做法是,当商户系统收到通知进行处理时,先检查对应业务数据的状态,并判断该通知是否已经处理。如果未处理,则再进行处理;如果已处理,则直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
• 如果在所有通知频率后没有收到微信侧回调,商户应调用查询订单接口确认订单状态。
特别提醒:商户系统对于确认订单通知的内容一定要做签名验证,并校验通知的信息是否与商户侧的信息一致,防止数据泄露导致出现“假通知”,造成资金损失。
请求方法
参数名 | 参数描述 | 类型[长度限制] | 必填 | 备注 |
---|---|---|---|---|
method | 方法名 | string[1,32] | 是 | PAYSCORE_COMPLETEOR_CALLBACK |
requestDate | 交易日期 | string[1,14] | 是 | 格式[yyyyMMddHHmmss], 如:20190101140908 |
version | 版本 | string[1,16] | 是 | 接口版本:1.0 |
format | 请求格式 | string[1,16] | 是 | 业务请求参数格式,支持:JSON |
merchantNo | 商户号 | string[1,16] | 是 | 商户在慧收钱的商户号,由慧收钱生成并下发 |
signType | 加密类型 | string[1,16] | 是 | RSA2:签名机制查看说明 |
signContent | 业务数据 | string | 是 | 业务请求参数 |
sign | 签名数据 | string[1,128] | 否 | 签名数据 |
加密参数
参数名 | 参数描述 | 类型[长度限制] | 必填 | 备注 |
---|---|---|---|---|
appid | 应用ID | string[1,32] | 是 | 调用接口提交的公众账号ID。 示例值:wxd678efh567hg6787 |
merchantNo | 商户号 | string[1,32] | 是 | 调用接口提交的商户号。 示例值:1230000109 |
transNo | 商户服务订单号 | string[1,32] | 是 | 调用接口提交的商户服务订单号。 示例值:1234323JKHDFE1243252 |
serviceId | 服务ID | string[1,32] | 是 | 调用该接口提交的服务ID。 示例值:500001 |
openid | 用户标识 | string[1,128] | 是 | 微信用户在商户对应appid下的唯一标识。示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
state | 服务订单状态 | string[1,32] | 是 | 表示当前单据状态。枚举值: 1、DOING:服务订单进行中 示例值:DOING |
stateDescription | 订单状态说明 | string[1,32] | 否 | 对服务订单”进行中”状态的附加说明。 1、USER_CONFIRM:用户确认 示例值:USER_CONFIRM |
totalAmount | 商户收款总金额 | int64 | 否 | 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额。此参数需满足:总金额=后付费项目金额之和-后付费商户优惠项目金额之和,且小于等于订单风险金额。取消订单时,该字段必须为0。 示例值:40000 |
goodsInfo | 服务信息 | string[1,20] | 是 | 服务信息,用于介绍本订单所提供的服务不超过20个字符,超出报错处理。 示例值:嗨客餐厅用餐 |
tradeNo | 交易订单号 | string[1,64] | 否 | 支付平台交易订单号 |
needCollection | 是否需要收款 | bool | 否 | 是否需要收款。 true:微信支付分代收款false:无需微信支付分代收款示例值:false |
postPayments | +后付费项目 | array | 是 | 付费项目列表,最多包含100条付费项目。 |
postDiscounts | +后付费商户优惠 | array | 否 | 商户优惠列表,最多包含5条商户优惠。 |
riskFund | +订单风险金 | object | 是 | 订单风险金信息 |
timeRange | +服务时间段 | object | 是 | 服务使用时间范围 |
location | +服务位置 | object | 否 | 服务使用位置信息。 |
后付费项目参数域
参数名 | 参数描述 | 类型[长度限制] | 必填 | 备注 |
---|---|---|---|---|
name | 付费项目名称 | string[1,20] | 否 | 不超过20个字符,超出报错处理。 示例值:就餐费用, 服务费 |
amount | 金额 | int64 | 条件选填 | 此付费项目总金额,大于等于0,单位为分,等于0时代表不需要扣费,只能为整数,详见支付金额。 如果填写了“付费项目名称”,则amount或description必须填写其一,或都填。示例值:40000 |
description | 计费说明 | string[1,30] | 条件选填 | 描述计费规则,不超过30个字符,超出报错处理。 |
count | 付费数量 | int32 | 否 | 付费项目的数量。 示例值:4 |
后付费商户优惠参数域
参数名 | 参数描述 | 类型[长度限制] | 必填 | 备注 |
---|---|---|---|---|
name | 优惠名称 | string[1,20] | 否 | 优惠名称说明。 |
description | 优惠说明 | string[1,30] | 否 | 优惠使用条件说明。 如果填写了name(优惠名称)和description(优惠说明)其中一个字段内容,则另一个字段也必须填写。示例值:不与其他优惠叠加 |
amount | 优惠金额 | int64 | 否 | 优惠金额,只能为整数,单位为分 |
订单风险金参数域
参数名 | 参数描述 | 类型[长度限制] | 必填 | 备注 |
---|---|---|---|---|
name | 风险金名称 | string[1,64] | 是 | 枚举值: 【先免模式】(评估不通过可交押金)可填名称为 DEPOSIT:押金ADVANCE:预付款 CASH_DEPOSIT:保证金 【先享模式】(评估不通过不可使用服务)可填名称为 ESTIMATE_ORDER_COST:预估订单费用 示例值:DEPOSIT |
amount | 风险金额 | int32 | 是 | 1、数字,必须>0(单位分)。 2、风险金额≤服务ID的风险金额上限。 3、当商户优惠字段为空时,付费项目总金额≤服务ID的风险金额上限 (未填写金额的付费项目,视为该付费项目金额为0)。 4、完结订单的总金额和风险金额的关系。 1)【评估不通过:交押金】模式:总金额≤创单时填写的“订单风险金额” 2)【评估不通过:拒绝】模式:总金额≤“每个服务ID的风险金额上限”示例值:10000 |
description | 风险说明 | string[1,30] | 否 | 优惠使用条件说明。 如果填写了name(优惠名称)和description(优惠说明)其中一个字段内容,则另一个字段也必须填写。示例值:不与其他优惠叠加 |
服务时间段参数域
参数名 | 参数描述 | 类型[长度限制] | 必填 | 备注 |
---|---|---|---|---|
startTime | 服务开始时间 | string[1,14] | 是 | 用户端展示用途。格式:yyyyMMddHHmmss、yyyyMMdd和 OnAccept |
startTimeRemark | 服务开始时间备注 | string[1,20] | 否 | 服务开始时间备注说明 |
endTime | 预计服务结束时间 | string[1,14] | 是 | 用户端展示用途。格式:yyyyMMddHHmmss或yyyyMMdd |
endTimeRemark | 预计服务结束时间备注 | string[1,20] | 否 | 预计服务结束时间备注说明,预计服务结束时间有填时可填写 |
服务位置参数域
参数名 | 参数描述 | 类型[长度限制] | 必填 | 备注 |
---|---|---|---|---|
startLocation | 服务开始地点 | string[1,50] | 否 | 开始使用服务的地点,不超过50个字符,超出报错处理。 |
endLocation | 服务结束位置 | string[1,50] | 否 | 结束使用服务的地点,不超过50个字符,超出报错处理。 示例值:嗨客时尚主题展餐厅 |
同步响应参数
客户端在正常接收服务端通知报文同步响应“SUCCESS”来结束此流程。
响应格式
SUCCESS
作者:xiaochen 创建时间:2023-05-24 14:42
最后编辑:admin 更新时间:2025-01-09 17:41
最后编辑:admin 更新时间:2025-01-09 17:41