# Handling of transactional complaints
Revised Records
time | Revised content | Remarks |
---|---|---|
March 25, 2024 | 1. Added statuses "Platform determines merchant liability, platform refunds in -312" 2, "Merchant processing -201," "Platform determining merchant liabilities, upload processing credentials -206" expiration time from 72h to 48h | Entry into force on 25 March 2024 |
The following interfaces are provided to Weixin Mini Program developers for receiving, querying and handling Mini Program user transaction complaints.The full process for complaints about small-ticket transactions is as follows:
The transactional complaints processing capacity includes:
# Complaint Information Pushed
If there are new complaints, changes in the progress of the complaint, and updates the complaint information, the platform will push the complaint information to the message server configured by the Weixin Mini Program developer. View message Server configuration
<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>
Field Name | Field Dxplaination |
---|---|
appid | Weixin Mini Program AppID |
option_type | Notification Type of Event: First-time Complaint Initiation / Complaint Progress Update |
complaint_order_id | Complaints List Number |
status | Status of the Complaint List |
create_time | When the complaint was initiated |
expire_time | Current Status of Complaint Expiration Time |
type | Type of complaint problem, with enumeration values Refer to the table below |
order_id | The WeChat payment order number complained of |
out_trade_no | Merchant Order Number |
phone_number | Contact details for complainant |
open_id | Complainant openid |
customer_material_content | Complaint Details - Text |
customer_material_media_id_list | Complaint Details - Images (For security reasons, the image URL currently has an expiration time. To view the image, you need to re-invoke the interface each time to retrieve the image to prevent the image from expiring and being unable to view it) |
pay_time | The time of the orders that were complained of was trading |
total_cost | The amount of the orders complained of |
product_name | Description of the item on the order that was complained about |
history | Complaint progress, time progress change time, content progress change text, media_id_list progress change picture |
# Check out the details of the complaint form
# Request method
GET
# Request URL
https://api.weixin.qq.com/wxaapi/minishop/complaintOrderDetail?complaintOrderId=xxx&access_token=xxx
# Example of returned results
{
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 //运单状态
}
}
# Return the meaning of the parameter
Order Details
parameter | Introductions |
---|---|
complaintOrderId | Order id |
openid | User's openid |
createTime | When the complaint was initiated |
phoneNumber | Contact information |
type | Complaint issues are classified, with enumeration values referred to the table below |
customerMaterial.content | The content of the complaint |
customerMaterial.mediaIdList | Complaint content Image cdn (For security reasons, the image URL currently has an expiration time, so to view the image you need to re-invoke the interface every time to prevent the image from expiring and being unable to view it) |
orderId | WeChat Payment Order Number |
outTradeNo | Merchant Order Number |
productName | Product Name |
payTime | Payment time |
totalCostStr | Amount of transaction |
status | The status of the complaint form, with enumeration values, refer to the table below |
returnId | Return id, generated by interface |
orderStatus | Order Status, enumeration values Refer to the table below |
waybillId | Shipping order number |
deliveryName | Capacity companies |
appealState | Status of complaint. The enumerated values are used in the following table: 0 - not in the complaint stage, 401 - pending business complaint, 402 - longer than complaint time, 403 - in complaint, 117 - successful complaint, 118 - failed complaint |
List of problem types (type)
value | Introductions |
---|---|
611 | Shipping Problem - Not shipping on the agreed time |
612 | Shipping Problem - Vendor Refused to Ship |
613 | Shipping Problems - Less Shipping / Missing Shipping |
614 | Shipping problems - logistics information is not updated for a long time |
621 | Customer Service Questions - Customer Service does not reply |
622 | Customer Service Problems - Customer Service Abuse / Harassment / Intimidation |
631 | Commitment not fulfilled - Giveaway commitment not fulfilled |
632 | Commitment not fulfilled - Logistics commitment not fulfilled |
633 | Commitments not fulfilled - Other |
641 | Product Problem - Description Not Correct |
642 | Product Problems - Product Damage |
643 | Product Issues - Other |
650 | Unusual charge problems - the vehicle goes out of power or fails |
651 | Unusual charge problem - successful lock closure still billing |
652 | Unusual charge problem - the deduction amount is not correct |
653 | Problem with unusual charges - regular parking still deducts dispatch charges |
654 | Unusual Charge Problems - Other |
655 | Cycling Card Problem - Purchased a Cycling Card and still charged |
656 | Cycling Card Problems - Cycling Card Refunds |
657 | Deposit / balance refund issues - Deposit refund |
658 | Deposit / balance refund issues - balance refund |
659 | Customer Service Questions - Customer Service does not reply |
660 | Unusual charge problem - the charger does not pop up and has been charged |
661 | Unusual charge problem - the charger cannot be used properly |
662 | Unusual charge problem - returned, still billed |
663 | Unusual charge problem - length of billing is not recognized |
664 | Unusual Charge Problems - Other |
665 | Deposit refund problem - unusual deposit refund |
666 | Other Questions - Customer Service does not respond |
667 | Other problems - few points of return cannot be returned |
668 | Other problems - mis-operated purchase, need to consume |
670 | Fraud Problem - Fake Advertising |
671 | Problem with fraud - the number of episodes didn't match the promise |
672 | Problem with fraud - payment amount does not match the page |
673 | Problem with fraud - episode content doesn't match the hype |
674 | Fraud Issues - Marketing Activities Issues |
675 | Reimbursement issues - Repeated Reimbursement |
676 | Charges issue - no reason to charge |
677 | Issues with deductions - inconsistent criteria for deductions |
678 | Deduction Problem - Missing payment by Minors |
679 | Other Questions |
610001 | The number / duration of views does not match the promise |
610002 | The content of the episode was not consistent with the publicity. |
610003 | The content cannot be played |
610004 | Missing payment by a minor |
610005 | Other |
List of Complaints Status (status)
value | Introductions |
---|---|
101 | The platform customer service process is in progress |
102 | Users cancel the application |
103 | The platform customer service process is in progress |
104 | The platform customer service process is in progress |
105 | The platform customer service process is in progress |
106 | Vendors need to supplement their credentials |
107 | The platform customer service process is in progress |
108 | Subject to additional credentials from both parties |
109 | The platform customer service process is in progress |
112 | The complaint was closed. |
115 | The complaint was closed. |
116 | The complaint was closed. |
201 | To be processed |
202 | The merchant didn't respond longer than expected, pending confirmation from the user |
203 | Response has been received, pending confirmation by the user |
204 | Response has been received, pending confirmation by the user |
205 | The complaint was closed. |
206 | The platform has been determined to be a commercial responsibility, pending upload processing credentials |
207 | In the platform customer service verification certificate |
208 | Outstanding credentials were not uploaded over time |
209 | The complaint has been closed. |
305 | The platform customer service process is in progress |
307 | The platform customer service process is in progress |
308 | The platform has been adjudicated as a commercial responsibility and is pending return of the product by the user. |
309 | The platform has been adjudicated as a commercial responsibility and is pending return of the product by the user. |
310 | The platform customer service process is in progress |
311 | Exceptions in issuance |
312 | The platform determines the liability of the merchant, and the platform refunds |
Capacity single state enumeration (orderStatus)
value | Introductions |
---|---|
0 | Order has been placed for a package. |
1 | We have received the item. |
2 | In transit |
3 | The mission took place |
4 | Confirmed |
5 | abnormal |
6 | Receipt on behalf of the signature |
7 | The acquisition failed. |
8 | Receipt failed |
10 | No orders were placed |
11 | Cancelled |
12 | Deleted |
13 | The withdrawal was made |
14 | Has been returned |
15 | The capacity party canceled |
99 | No confirmation of status |
Appealstate enumeration:
value | Introductions |
---|---|
0 | We did not enter the complaint phase |
401 | Wait for a complaint from a business |
402 | More than the time of the appeal |
403 | The complaint is in progress |
117 | The appeal was successful |
118 | The complaint failed. |
Complaint Progress (item):
parameter | Introductions |
---|---|
itemType | Type of each node, enumeration value Refer to the table below |
time | time |
content | Content Text |
mediaIdList | Picture cdn resource list |
phoneNumber | Mobile phone number |
blameResult | When itemType is (31,32), determine whether the description of the return is passed, 1 corresponds to the copy to be returned by the user, and 0 corresponds to the copy to be uploaded to process the certificate |
nickName | Operator's nickname |
appealItemType | Status of complaints at a complaint stage node, enumeration value Refer to the table below |
ItemType Valid Value:
value | describe |
---|---|
1 | Users initiate complaints |
2 | Users add comments |
3 | Merchant's Additional Message |
7 | Supplementary credentials for users |
8 | Supplementary credentials for businesses |
11 | Users apply for platform customer service assistance |
12 | Users withdraw complaints |
13 | The platform customer service process is in progress |
14 | Credentials to be supplemented by users |
16 | Vendors need to supplement their credentials |
18 | The platform requires additional credentials from both parties. |
26 | The platform verifies and handles unusual credentials, and complaints are closed, so merchants are asked to contact users themselves to solve the problem, and ensure the user experience. |
30 | The platform has verified that this complaint is not the responsibility of the merchant and the complaint has been closed. |
31 | The platform has verified that this complaint is the responsibility of the merchant, to be uploaded to handle the certificate (blameResult is 0) / the platform has verified this complaint is the responsibility of the merchant, and to be returned by the user (blameResult is 1) |
32 | The platform has verified that this complaint is the responsibility of the merchant, to be uploaded to handle the certificate (blameResult is 0) / the platform has verified this complaint is the responsibility of the merchant, and to be returned by the user (blameResult is 1) |
33 | The platform has verified that this complaint is not the responsibility of the merchant and the complaint has been closed. |
36 | The platform verified the processing credentials and the complaint was closed. |
37 | The platform verifies and handles unusual credentials, and complaints are closed, so merchants are asked to contact users themselves to solve the problem, and ensure the user experience. |
101 | Vendors failed to respond to complaints over time |
104 | The user agrees with the result of the processing and the complaint is closed |
107 | The merchant failed to submit complaint handling credentials over time, and the platform customer service is in the process. |
108 | Users failed to confirm the results of the merchant's response over time, and the complaint was closed |
109 | The merchant has responded to the complaint |
110 | Businesses submit credentials for complaint handling |
111 | User replenishment credentials are over time |
112 | Vendor's Supplementary Credentials Were Overdue |
113 | The parties' supplementary credentials were overdue |
118 | Voluntary automatic compensation |
AppleItemType Valid Value:
value | Introductions |
---|---|
0 | We did not enter the complaint phase |
401 | Wait for a complaint from a business |
402 | More than the time of the appeal |
403 | The complaint is in progress |
117 | The appeal was successful |
118 | The complaint failed. |
# Merchant responded to complaint
# Request method
POST
# Request URL
https://api.weixin.qq.com/wxaapi/minishop/bussiRespondComplaint?access_token=xxx
# Example of request parameters
{
"content": "", // 回应的内容
"complaintOrderId": 123456, // 单号
"mediaIdList": [], // 图片的id
"bussiHandle": 1,// 操作1是同意和解,2是拒绝和解
}
# The meaning of the request parameter
parameter | type | Required to fill in | Introductions |
---|---|---|---|
content | string | content and mediaIdList must be selected. | Response content (must be filled in both the image array and the content) |
complaintOrderId | number | yes | Odd Numbers |
mediaIdList | Array|content and mediaIdList must be selected. | https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html | |
bussiHandle | number | yes | Action: 1 is to agree to a settlement, 2 is to refuse a dispute |
# Return the example correctly
{
"errcode": 0 // 0:成功
}
# Return the meaning of the parameter
parameter | type | Introductions |
---|---|---|
errcode | number | Return code |
errmsg | string | Error message |
Return code:
Return code | Introductions |
---|---|
0 | success |
1 | A single number does not exist. |
10001 | Parameter exception, the errmsg field shows the specific description |
# Supplementary credentials for businesses
# Request method
POST
# Request URL
https://api.weixin.qq.com/wxaapi/minishop/bussiSupplyProof?access_token=xxx
# Example of request parameters
{
"content": "",
"complaintOrderId": 123456, // 单号
"mediaIdList": [], // 图片的idlist
}
# The meaning of the request parameter
parameter | type | Required to fill in | Introductions |
---|---|---|---|
content | string | content and mediaIdList must be selected. | Response content (must be filled in both the image array and the content) |
complaintOrderId | number | yes | Odd Numbers |
mediaIdList | Array|content or mediaIdList | https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html |
# Return the example correctly
{
"errcode": 0 // 0:成功
}
# Return the meaning of the parameter
parameter | type | Introductions |
---|---|---|
errcode | number | Return code |
errmsg | string | Error message |
Return code:
Return code | Introductions |
---|---|
0 | success |
1 | A single number does not exist. |
10001 | Parameter exception, the errmsg field shows the specific description |
# Vendors submit proof of refund
# Request method
POST
# Request URL
https://api.weixin.qq.com/wxaapi/minishop/bussiSupplyRefund?access_token=xxx
# Example of request parameters
//提交退款凭证
{
"content": "",
"complaintOrderId": 123456, // 单号
"mediaIdList": [], // 图片的idlist
}
//退货场景下,提交退款凭证
{
"content": "",
"complaintOrderId": 123456, //单号
"mediaIdList": [], // 图片的idlist
"acceptReturn": 1, //1确认收货,2签收异常(退货状态下必填)
"returnId": '2342342' //退货id,通过查询投诉单详情接口获取(退货状态下必填)
}
# The meaning of the request parameter
parameter | type | Required to fill in | Introductions |
---|---|---|---|
content | string | content and mediaIdList must be selected. | Response content (must be filled in both the image array and the content) |
complaintOrderId | number | yes | Odd Numbers |
mediaIdList | Array|content and mediaIdList must be selected. | Image id list Image id list, you can refer to this https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html | |
acceptReturn | number | Required in return status | Confirm whether the shipment is being received |
returnId | number | Required in return status | The return order number needs to be obtained via the complaint order details interface |
# Return the example correctly
{
"errcode": 0 // 0:成功
}
# Return the meaning of the parameter
parameter | type | Introductions |
---|---|---|
errcode | number | Return code |
errmsg | string | Error message |
Return code:
Return code | Introductions |
---|---|
0 | success |
1 | A single number does not exist. |
10001 | Parameter exception, the errmsg field shows the specific description |
# Businesses complain
# Request method
POST
# Request URL
https://api.weixin.qq.com/wxaapi/minishop/busiAppeal?access_token=xxx
# Example of request parameters
// Submit complaints
{
"content": "",
"complaintOrderId": 123456, //单号
"mediaIdList": [], // 图片的idlist
}
# The meaning of the request parameter
parameter | type | Required to fill in | Introductions |
---|---|---|---|
content | string | Both content and mediaIdList are required | Complaint form (must be filled in both the picture array and the content) |
complaintOrderId | number | yes | Odd Numbers |
mediaIdList | Array|Both content and mediaIdList are required | Image id list Image id list, you can refer to this https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html |
# Return the example correctly
{
"errcode": 0 // 0:成功
}
# Return the meaning of the parameter
parameter | type | Introductions |
---|---|---|
errcode | number | Return code |
errmsg | string | Error message |
Return code:
Return code | Introductions |
---|---|
0 | success |
1 | A single number does not exist. |
2 | The incoming mediaIdList or content format is incorrect |
1002 | The current state does not support this operation |
10001 | Parameter exception, the errmsg field shows the specific description |