# 交易类投诉处理

修订记录

时间 修订内容 备注
2024年3月25日 1、新增「平台判定商家责任,平台退款中-312」状态
2、「待商家处理-201」、「平台判定商家责任,待上传处理凭证-206」状态到期时间由72h改为48h
生效时间为2024年3月25日

以下接口提供给小程序开发者用于接收、查询、处理小程序用户交易类投诉。小程序交易类投诉全流程如下:

交易类投诉处理能力包括:

  1. 接收投诉信息推送

  2. 查询投诉单信息

  3. 商家回应投诉

  4. 商家补充凭证

  5. 商家提交处理凭证

  6. 商家申诉

# 投诉信息推送

如有新增投诉、投诉进展变更、投诉信息更新时,平台将把投诉信息推送到小程序开发者配置的消息服务器。查看消息服务器配置

<xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1546924844</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[complaint_callback]]></Event>
    <BussiCallBackInfo>
        <appid>123</appid>
        <option_type>123</option_type>
        <complaint_order_id>123</complaint_order_id><status>123</status>
        <create_time>123</create_time><expire_time>123</expire_time><type>123</type><order_id>123</order_id>
        <out_trade_no>123</out_trade_no><phone_number>123</phone_number><open_id>123</open_id><customer_material_content>123</customer_material_content><customer_material_media_id_list>123</customer_material_media_id_list> // 投诉内容图片cdn(出于安全性考虑,目前该图片url有过期时间,如需查看图片,需每次重新调用该接口获取,防止图片过期导致无法查看)
        ​<pay_time>123</pay_time><total_cost>123</total_cost><product_name>123</product_name><history><time>123</time><content>123</content><media_id_list>123</media_id_list>
        </history><history><time>123</time><content>123</content><media_id_list>123<media_id_list></history>
    </BussiCallBackInfo>
</xml>
字段名 字段说明
appid 小程序appid
option_type 通知事件类型:首次发起投诉/投诉进度更新
complaint_order_id 投诉单号
status 投诉单状态
create_time 投诉发起时间
expire_time 投诉当前状态到期时间
type 投诉问题类型,枚举值参考下面表格
order_id 被投诉的微信支付单号
out_trade_no 商家订单号
phone_number 投诉人联系方式
open_id 投诉人openid
customer_material_content 投诉详情-文本
customer_material_media_id_list 投诉详情-图片(出于安全性考虑,目前该图片url有过期时间,如需查看图片,需每次重新调用该接口获取,防止图片过期导致无法查看)
pay_time 被投诉的订单交易时间
total_cost 被投诉的订单金额
product_name 被投诉的订单商品描述
history 投诉进度,time 进度变更时间,content 进度变更文本,media_id_list 进度变更图片

# 查询投诉单详情

# 请求方法

GET

# 请求 URL

https://api.weixin.qq.com/wxaapi/minishop/complaintOrderDetail?complaintOrderId=xxx&access_token=xxx

# 返回结果示例

{
    errcode: 0,
    errmsg: "ok",
    complaintOrder: {
        complaintOrderId: "sadfasdf",//订单id
        openId: "dfasefasefase", //openId
        createTime: 1658903527, //投诉发起时间
        phoneNumber: 13599125777, //联系方式
        type: 12,  //投诉问题分类
        status: 1,//订单状态,枚举值
        customerMaterial:{
            content: ", //投诉内容
            mediaIdList: ["fsadfasdfsaf"], // 投诉内容图片cdn(出于安全性考虑,目前该图片url有过期时间,如需查看图片,需每次重新调用该接口获取,防止图片过期导致无法查看)
        },
        orderId: "2342", //微信支付订单号
        outTradeNo: "sdfsfd",   //商家订单号
        productName: "sdf", //商品名称
        payTime: 1658903465,   //支付时间
        totalCost: "¥0.01",    //交易金额
        expireTime: 1658903564, //投诉单当前状态到期时间,0为不存在
        headImgUrl: "http://xxx.xxx/xxx",//头像URL
        nickName: "xxxxxx",//微信昵称
        appealState: 403, //申诉状态,枚举值
    },
    // 投诉进度
    item:[{
        itemType: 1, //投诉节点状态
        time: 1658903527,  //时间
        content: "", //内容
        mediaIdList: ["https://asdfasdf"],  //图片cdn列表
        phoneNumber: 13599125777, //手机号
        blameResult: 0,
        nickName: "",
        appealItemType: 401, // 投诉节点申诉状态(item处于申诉阶段才有)
    }],
    returnBill: {
        returnId: "23234234234",    //退货id
        waybillId: "YDxxxxd", //运单号
        deliveryName: "韵达快递", //运力公司
        orderStatus: 4 //运单状态
    }
} 

# 返回参数含义

订单详情

参数 说明
complaintOrderId 订单id
openid 用户的openid
createTime 投诉发起时间
phoneNumber 联系方式
type 投诉问题分类,枚举值参考下面表格
customerMaterial.content 投诉内容
customerMaterial.mediaIdList 投诉内容图片cdn(出于安全性考虑,目前该图片url有过期时间,如需查看图片,需每次重新调用该接口获取,防止图片过期导致无法查看)
orderId 微信支付订单号
outTradeNo 商家订单号
productName 商品名称
payTime 支付时间
totalCostStr 交易金额
status 投诉单状态,枚举值参考下面表格
returnId 退货id,通过接口生成
orderStatus 运单状态,枚举值参考下面表格
waybillId 运单号
deliveryName 运力公司
appealState 申诉状态,枚举值参考下面表格:0--未进入申诉阶段,401--待商家申诉,402--超过申诉时间,403--申诉中,117--申诉成功,118--申诉失败

投诉单问题类型枚举(type)

说明
611 发货问题-未按约定时间发货
612 发货问题-商家拒绝发货
613 发货问题-少发/错发
614 发货问题-物流信息长时间不更新
621 客服问题-客服不回复
622 客服问题-客服辱骂/骚扰/恐吓
631 承诺未履行-赠品承诺未履行
632 承诺未履行-物流承诺未履行
633 承诺未履行-其他
641 商品问题-描述不符
642 商品问题-商品破损
643 商品问题-其他
650 收费异常问题-车辆没电或故障
651 收费异常问题-关锁成功仍计费
652 收费异常问题-扣费金额不对
653 收费异常问题-规范停车仍扣调度费
654 收费异常问题-其他
655 骑行卡问题-已购买骑行卡,仍扣费
656 骑行卡问题-骑行卡退款
657 押金/余额退还问题-押金退还
658 押金/余额退还问题-余额退还
659 客服问题-客服不回复
660 收费异常问题-充电宝未弹出,已扣费
661 收费异常问题-充电宝无法正常使用
662 收费异常问题-已归还,仍计费
663 收费异常问题-不认可计费时长
664 收费异常问题-其他
665 押金退还问题-押金退还异常
666 其他问题-客服不回复
667 其他问题-归还点少无法归还
668 其他问题-误操作购买,需消费
670 欺诈问题-虚假广告
671 欺诈问题-剧集数量与承诺不符
672 欺诈问题-付款金额与页面不符
673 欺诈问题-剧集内容与宣传不符
674 欺诈问题-营销活动问题
675 扣费问题-重复扣费
676 扣费问题-无理由扣费
677 扣费问题-扣费标准不一致
678 扣费问题-未成年误付款
679 其他问题
610001 可观看数量/时长与承诺不符
610002 剧集内容与宣传不符
610003 内容无法播放
610004 未成年人误付款
610005 其他

投诉单状态枚举(status)

说明
101 平台客服处理中
102 用户取消申请
103 平台客服处理中
104 平台客服处理中
105 平台客服处理中
106 待商家补充凭证
107 平台客服处理中
108 待双方补充凭证
109 平台客服处理中
112 投诉已完结
115 投诉已完结
116 投诉已完结
201 待处理
202 商家超时未回应,待用户确认
203 已回应,待用户确认
204 已回应,待用户确认
205 投诉已完结
206 平台已判定为商责,待上传处理凭证
207 平台客服核实凭证中
208 超时未上传凭证
209 投诉已关闭
305 平台客服处理中
307 平台客服处理中
308 平台已判定为商责,待用户退货中
309 平台已判定为商责,待用户退货中
310 平台客服处理中
311 签收异常
312 平台判定商家责任,平台退款中

运力单状态枚举(orderStatus)

说明
0 已下单待揽件
1 已揽件
2 运输中
3 派件中
4 已签收
5 异常
6 代签收
7 揽收失败
8 签收失败
10 未下单
11 已取消
12 已删除
13 退件中
14 已退件
15 运力方取消
99 未确认状态

申诉状态枚举(appealState):

说明
0 未进入申诉阶段
401 待商家申诉
402 超过申诉时间
403 申诉中
117 申诉成功
118 申诉失败

投诉进度(item):

参数 说明
itemType 每个节点的类型,枚举值 参考下面表格
time 时间
content 内容文本
mediaIdList 图片cdn资源列表
phoneNumber 手机号
blameResult itemType 为(31, 32)时,判断是否经过退货的描述, 1对应文案为待用户退货中,0则对应文案为待上传处理凭证
nickName 操作者昵称
appealItemType 处于申诉阶段节点的申诉状态,枚举值 参考下面表格

itemType合法值:

描述
1 用户发起投诉
2 用户补充留言
3 商家补充留言
7 用户补充凭证
8 商家补充凭证
11 用户申请平台客服协助
12 用户撤销投诉
13 平台客服处理中
14 待用户补充凭证
16 待商家补充凭证
18 平台要求双方补充凭证
26 平台核实处理凭证异常,投诉关闭,请商家自行联系用户解决问题,保障用户体验
30 平台已核实此投诉非商家责任,投诉已完结
31 平台已核实此投诉为商家责任,待上传处理凭证(blameResult为0)/平台已核实此投诉为商家责任,待用户退货中(blameResult为1)
32 平台已核实此投诉为商家责任,待上传处理凭证(blameResult为0)/平台已核实此投诉为商家责任,待用户退货中(blameResult为1)
33 平台已核实此投诉非商家责任,投诉已完结
36 平台已核实处理凭证,投诉完结
37 平台核实处理凭证异常,投诉关闭,请商家自行联系用户解决问题,保障用户体验
101 商家超时未回应投诉
104 用户认可处理结果,投诉已完结
107 商家超时未提交投诉处理凭证,平台客服处理中
108 用户超时未确认商家回应结果,投诉已完结
109 商家已回应投诉
110 商家提交投诉处理凭证
111 用户补充凭证超时
112 商家补充凭证超时
113 双方补充凭证超时
118 商责自动赔付

appealItemType合法值:

说明
0 未进入申诉阶段
401 待商家申诉
402 超过申诉时间
403 申诉中
117 申诉成功
118 申诉失败

# 商家回应投诉

# 请求方法

POST

# 请求 URL

https://api.weixin.qq.com/wxaapi/minishop/bussiRespondComplaint?access_token=xxx

# 请求参数示例

{
    "content": "", // 回应的内容
    "complaintOrderId": 123456, // 单号
    "mediaIdList": [], // 图片的id
    "bussiHandle": 1,// 操作1是同意和解,2是拒绝和解
}

# 请求参数含义

参数 类型 必填 说明
content string content跟mediaIdList二选一必填 回应的内容(图片数组跟内容二选一必填)
complaintOrderId number 单号
mediaIdList Array<string> content跟mediaIdList二选一必填 图片id列表,可参考这 https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html
bussiHandle number 操作:1是同意和解,2是拒绝和解

# 正确返回示例

{
   "errcode": 0 // 0:成功 
}

# 返回参数含义

参数 类型 说明
errcode number 返回码
errmsg string 错误信息

返回码:

返回码 说明
0 成功
1 单号不存在
10001 参数异常,errmsg字段展示具体描述

# 商家补充凭证

# 请求方法

POST

# 请求 URL

https://api.weixin.qq.com/wxaapi/minishop/bussiSupplyProof?access_token=xxx

# 请求参数示例

{
    "content": "",
    "complaintOrderId": 123456, // 单号
    "mediaIdList": [], // 图片的idlist
}

# 请求参数含义

参数 类型 必填 说明
content string content跟mediaIdList二选一必填 回应的内容(图片数组跟内容二选一必填)
complaintOrderId number 单号
mediaIdList Array<string> content跟mediaIdList二选一 图片id列表,可参考这 https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html

# 正确返回示例

{
   "errcode": 0 // 0:成功 
}

# 返回参数含义

参数 类型 说明
errcode number 返回码
errmsg string 错误信息

返回码:

返回码 说明
0 成功
1 单号不存在
10001 参数异常,errmsg字段展示具体描述

# 商家提交退款凭证

# 请求方法

POST

# 请求 URL

https://api.weixin.qq.com/wxaapi/minishop/bussiSupplyRefund?access_token=xxx

# 请求参数示例

//提交退款凭证
{
    "content": "",
    "complaintOrderId": 123456, // 单号
    "mediaIdList": [], // 图片的idlist
}


//退货场景下,提交退款凭证
{
    "content": "",
    "complaintOrderId": 123456, //单号
    "mediaIdList": [], // 图片的idlist
    "acceptReturn": 1,   //1确认收货,2签收异常(退货状态下必填)
    "returnId": '2342342' //退货id,通过查询投诉单详情接口获取(退货状态下必填)
}

# 请求参数含义

参数 类型 必填 说明
content string content跟mediaIdList二选一必填 回应的内容(图片数组跟内容二选一必填)
complaintOrderId number 单号
mediaIdList Array<string> content跟mediaIdList二选一必填 图片的id list 图片id列表,可参考这 https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html
acceptReturn number 退货状态下必填 确认是否收货
returnId number 退货状态下必填 退货单号,需要通过查询投诉单详情接口获取

# 正确返回示例

{
   "errcode": 0 // 0:成功 
}

# 返回参数含义

参数 类型 说明
errcode number 返回码
errmsg string 错误信息

返回码:

返回码 说明
0 成功
1 单号不存在
10001 参数异常,errmsg字段展示具体描述

# 商家申诉

# 请求方法

POST

# 请求 URL

https://api.weixin.qq.com/wxaapi/minishop/busiAppeal?access_token=xxx

# 请求参数示例

// 提交申诉材料
{
    "content": "",
    "complaintOrderId": 123456, //单号
    "mediaIdList": [], // 图片的idlist
}

# 请求参数含义

参数 类型 必填 说明
content string content跟mediaIdList均必填 申诉材料(图片数组跟内容均必填)
complaintOrderId number 单号
mediaIdList Array<string> content跟mediaIdList均必填 图片的id list 图片id列表,可参考这 https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html

# 正确返回示例

{
   "errcode": 0 // 0:成功 
}

# 返回参数含义

参数 类型 说明
errcode number 返回码
errmsg string 错误信息

返回码:

返回码 说明
0 成功
1 单号不存在
2 传入mediaIdList或content格式有误
1002 当前状态不支持该操作
10001 参数异常,errmsg字段展示具体描述