# 验证购物订单上传结果
接口应在服务器端调用,详细说明参见服务端API。
# 接口说明
# 接口英文名
ShoppingInfoVerifyUploadResult
# 功能描述
- 调用此接口验证购物订单上传结果
- 该接口用于商户接入购物订单业务。商户接入后,可帮助用户查看/管理微信内购物的订单,追踪订单进展、获取售后服务等。用户后续可以从微信「我」-「服务」-「钱包」-「账单」中进入,也可以从支付凭证消息进入账单详情页回溯已购物的订单。
- 具体业务介绍及完整接入指南可参见 购物订单。
# 注意事项
- 调用上传订单信息接口成功后,是否成功完成购物订单的上传取决于订单是否完成支付和订单支付信息与上传订单信息的匹配,此接口用于自助验证最终上传结果
- 上传购物详情的订单的订单单号类型需要和调用上传订单信息接口的保持一致,合单时与主单的上传购物详情的订单保持一致
- 用户标识请填写上传订单信息时上传的支付者openid
- 如果上传购物订单最终失败,请根据返回的验证结果描述进行调用修改
# 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/user-order/shoppinginfo/verify
# 第三方调用
调用方式以及出入参和HTTPS相同,仅是调用的token不同
该接口所属的权限集id为:120、121
服务商获得其中之一权限集授权后,可通过使用authorizer_access_token代商家进行调用
# 请求参数
属性 | 类型 | 必填 | 说明 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
access_token | string | 是 | 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用getAccessToken 或者 authorizer_access_token | ||||||||||||||||||||||||||
order_key | object | 是 | 订单,需要上传购物详情的订单,根据订单类型二选一 | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
payer | object | 是 | 支付者,支付者信息 | ||||||||||||||||||||||||||
|
# 返回参数
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误原因 |
verify_result | string | 验证结果 |
# 调用示例
示例说明: JS Fetch API
# 请求数据示例
// 拼装URL
let url = `https://api.weixin.qq.com/user-order/shoppinginfo/verify`;
// Json包体
let jsonBody = {};
jsonBody["order_key"] = {
"order_number_type": "WXPAY_TRADE_NUMBER",
"transaction_id": "g2frh",
"mchid": "2qf8n",
"out_trade_no": "t6htn"
};
jsonBody["payer"] = {
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
};
// 设置包头
let headers = {"Content-Type": "application/json"};
// 发送请求
fetch(url, {
body: JSON.stringify(jsonBody),
headers: headers,
method: "POST"
})
.then(response => response.json())
.then(response => console.log("Success:", JSON.stringify(response)))
.catch(error => console.error("Error:", error));
# 返回数据示例
{
"errcode":0,
"errmsg":"ok"
}
# 错误码
错误码 | 错误码取值 | 解决方案 |
---|---|---|
-1 | system error | 系统繁忙,此时请开发者稍候再试 |
268435461 | 参数错误 | 根据错误原因描述修改参数 |
268485195 | 微信支付单号形式下transaction_id字段必须设置 | 微信支付单号形式下transaction_id字段必须设置 |
268485196 | 商户侧单号形式下mchid字段必须设置 | 商户侧单号形式下mchid字段必须设置 |
268485197 | 商户侧单号形式out_trade_no字段必须设置 | 商户侧单号形式下out_trade_no字段必须设置 |
268485194 | 订单单号类型非法 | 按照文档中订单类型枚举填写该字段 |
268485192 | 用户标识openid为空 | 用户标识openid必须填写 |
268457013 | 解码openid失败 | openid不合法,请确认后重试 |
268457014 | openid解码后为0 | openid不合法,请确认后重试 |
268485217 | 商户号不合法,请确认后重试 | 商户号不合法,请确认后重试 |
268485214 | 上传时间必须设置 | 上传时间必须填写 |
268485224 | 物流发货模式非法 | 按照文档中物流形式枚举设置该字段 |
268485229 | 物流信息列表为空 | 物流信息列表至少填写一个 |
268485216 | 上传时间非法,请按照Rfc3399格式填写 | 上传时间必须满足Rfc3399格式,如2021-05-20T13:29:35.120+08:00 |
268485228 | 统一发货模式下,物流信息列表长度必须为1 | 统一发货模式下,物流信息列表长度必须为1 |
268485231 | 统一发货模式下不需要填写商品ID | 统一发货模式下不需要填写商品ID |
268485226 | 物流单号不能为空 | 物流单号必须填写 |
268485227 | 物流公司编码必须设置 | 物流公司编码必须填写 |
268485230 | 物流关联的商品列表中的商户侧商品ID不能为空 | 物流关联的商品列表中的商户侧商品ID必须填写 |
268485232 | 分拆发货模式下,物流关联的商品列表不能为空 | 分拆发货模式下,物流关联的商品列表至少填写一个 |
268485184 | 无购物订单产品权限 | 无购物订单产品权限,请先申请购物订单产品权限后再调用 |
268485275 | 上传方商家appid必须和购物详情归属appid一致 | 上传物流的商家和上传订单信息的商家保持一致 |