业务说明

本接口请求方为翼码系统,接收方为商家系统。

当有新的投诉事件发生、投诉状态发生变化时,商户会收到通知回调。

报文格式:JSON

请求方式:POST

Content-Type: application/json;charset=utf-8

签名sign计算规则详见:JSON格式签名计算

注意:标准接口通知报文节点后续会根据需求而做新增,切勿以固定格式解析报文和验签,避免增加节点造成代码报错。

注意:商户接收到通知处理成功后需响应字符串“success”,其他响应翼码系统认为通知失败会继续通知。

注意:同样的通知可能会多次发送给商户系统,商户系统必须能够正确处理重复的通知。

注意:可空节点数据为空时,既可能返回null也可能返回空字符串,请解析时注意兼容。

请求报文

  1. {
  2. "notify_type": "4",
  3. "isspid": "00026713",
  4. "seller_account": "66660000000000001",
  5. "notify_id": "notify202406170000000001",
  6. "risk_type": "COMPLAINTV2",
  7. "create_time": "20240607151515",
  8. "event_type": "COMPLAINT.CREATE",
  9. "resource": "{\"out_trade_no\":\"241213123010143223\",\"complaint_time\":\"2024-12-13T11:37:19+08:00\",\"amount\":\"1\",\"payer_phone\":\"18659101805\",\"complaint_detail\":\"需要退款没找到入口,请商家联系我\",\"complaint_state\":\"PAYER_COMPLAINTED\",\"transaction_id\":\"4200059297202412138968485906\",\"sub_mchid\":\"608051663\",\"complaint_handle_state\":\"WAIT_MERCHANT_RESPONSE\",\"action_type\":\"CREATE_COMPLAINT\",\"complaint_id\":\"200000020241213110233971398\"}",
  10. "sign": "7A6B20F1AC3F18FBFC56F4A36CE3207F"
  11. }

请求报文说明

标准接口会因业务升级需要而新增节点,请在解析请求报文时避免新增未知节点产生的程序出错!

节点名称中文名称类型说明是否必填
sign签名String(32)计算签名方式请看2.1章节必填
notify_type通知类型String(1)4:微信投诉/风控案例通知必填
isspid翼码商户号String(8)必填
seller_account收款账户编号String(64)必填
notify_id通知唯一idString(64)必填
risk_type风控结果类型String(32)VIOLATION:违规
COMPLAINT:投诉1.0结果
COMPLAINTV2:投诉2.0结果
必填
create_time通知创建时间String(14)格式:yyyyMMddHHmmss必填
event_type事件类型String(32)违规类型:
VIOLATION.PUNISH:处罚
VIOLATION.INTERCEPT:拦截
VIOLATION.APPEAL:申诉

投诉类型:
COMPLAINT.CREATE:产生新投诉
COMPLAINT.STATE_CHANGE:投诉状态变化
必填
resource资源数据JSONString报文格式与risk_type关联必填

标准接口会因业务升级需要而新增节点,请在解析请求报文时避免新增未知节点产生的程序出错!

resource 资源数据 (JSONString)

当 risk_type = VIOLATION 时

节点名称中文名称类型说明是否必填
sub_mchid渠道子商户号String(32)该商户平台处置记录对应的商户号必填
company_name子商户公司名称String(64)必填
record_id唯一标识String(128)微信支付对违约商户处理通知的唯一标识,可用于去重必填
punish_plan具体处罚方案String(2048)微信支付对违约商户的具体处罚方案,可根据具体的处罚方案指引商户登录商户平台/商家助手小程序进行申诉/相关操作,
使用时请留意该值为处罚方法的文本内容,并非枚举值。
可空
punish_time处置时间String(64)微信支付对违约商户的处置时间,遵循rfc3339标准格式。
格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,
T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,
TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。
例如:2015-05-20T13:29:35+08:00表示北京时间2015年05月20日13点29分35秒
必填
punish_description描述信息String(128)微信支付对违约商户处罚方案的详细描述信息,补充处罚方案的相关影响。可空
risk_type风险类型String(2048)微信支付对违约商户定义的风险类型,枚举值:
ONE_YUAN_PURCHASES:涉嫌一元购
MULTI_LEVEL_DISTRIBUTION_REBATE:涉嫌多级分销返利
PROHIBITED_BUSINESS_CATEGORIES:涉嫌我司未开放类目
CASH_ADVANCE_VIA_CREDIT_CARD:涉嫌信用卡套现
INDUCING_USERS_TO_MAKE_PAYMENTS:涉嫌诱导支付
FRAUD:涉嫌欺诈
MALICIOUS_FAN_COUNT_BOOSTING:涉嫌恶意吸粉
CROSS_CATEGORY_ACTIVITIES:涉嫌跨类目
CROSS_CATEGORY_BUSINESS:涉嫌跨类目经营
GAMBLING:涉嫌赌博
LEWD_CONTENT:涉嫌色情
UNLICENSED_PAYMENT_AND_SETTLEMENT_BUSINESS:涉嫌无证经营支付结算业务
INVESTMENT:涉嫌投资理财
TRANSACTION_DISPUTE:涉嫌交易纠纷
CROSS_BORDER_USE_OF_DOMESTIC_PAYMENT_API:涉嫌境内支付接口跨境使用
OVERSEAS_ACTIVITIES_OUTSIDE_THE_BUSINESS_SCOPE_APPROVED_BY_REGULATORY_AUTHORITIES:涉嫌境外超监管批复范围经营
UNUSUAL_TRANSACTION:涉嫌交易异常
UNLICENSED_BUSINESS:涉嫌无资质经营
WEALTH_INVESTMENT:涉嫌投资理财
AFFILIATED_TO_A_VIOLATING_ENTITY:涉嫌关联违规主体等异常风险
INVOLVED_IN_A_JUDICIAL_CASE:涉嫌司法案件
INCORRECT_INFORMATION_SUBMITTED:涉嫌资料异常
APPEAL_SUCCESSFUL:申诉成功
REPORTED_BY_OTHERS:涉嫌他人投诉举报
VIOLATING_SMART_CATERING_ACTIVITIES:涉嫌智慧餐饮活动违规
MORE_THAN_ONE_MERCHANT_UNDER_A_SINGLE_MERCHANT_ID:涉嫌同一商户号下挂多个商户
CROSS_REGION_USE_OF_INTERNATIONAL_PAYMENT_API:涉嫌境外支付接口跨区域
UNUSUAL_REAL_TIME_TRANSACTION:涉嫌实时交易异常
UNACCEPTABLE_DOCUMENTS:涉嫌资料不合格
LARGE_AMOUNT_TRANSACTION:涉嫌大额交易
ALL_MERCHANTS_HAVE_CONFIRMED_THE_WILLINGNESS_TO_OPEN_AN_ACCOUNT:无交易商户未确认开户意愿
UNCONFIRMED_WILLINGNESS_TO_OPEN_AN_ACCOUNT:未确认开户意愿
INACTIVE_TRANSACTION:交易停滞
OTHER_UNUSUAL_ACTIVITIES:涉嫌其它异常
必填
risk_description中文描述String(2048)微信支付对违约商户定义的风险类型枚举值对应的中文描述可空

当 risk_type = COMPLAINT 时

节点名称中文名称类型说明是否必填
sub_mchid渠道子商户号String(32)该商户平台处置记录对应的商户号必填
out_trade_no收银宝交易单号String(64)必填
complaint_time投诉时间String(64)微信支付对违约商户的处置时间,遵循rfc3339标准格式。
格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,
T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,
TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。
例如:2015-05-20T13:29:35+08:00表示北京时间2015年05月20日13点29分35秒
必填
amount交易金额String(9)单位:分必填
payer_phone投诉人联系方式String(64)可空
complaint_detail投诉详情String(2048)必填
complaint_state投诉单状态String标识当前投诉单所处的处理阶段,具体状态如下所示:
PAYER_COMPLAINTED:用户已投诉
FROZENED:交易已冻结
FROZEN_FINISHED:冻结已结束
PAYER_CANCELED:用户已撤诉
MERCHANT_REFUNDED:商户已退款
SYSTEM_REFUNDED:系统(微信支付)已退款
MANUAL_UNFROZEN:人工(微信支付运营人员)手动解冻
必填
transaction_id渠道交易IDString(64)微信交易ID必填
complaint_handle_state投诉单处理状态String(64)投诉单处理进展状态,标识当前投诉单所处的处理阶段,描述用户与商户的沟通反馈进度,将逐步取代投诉状态。具体状态如下所示:
WAIT_MERCHANT_RESPONSE:待商户处理
MERCHANT_RESPONSED:商户已反馈
USER_CONFIRMED:用户已确认
TIME_OUT_CLOSED:投诉超时关闭
MERCHANT_FULL_REFUNDED:商户全额退款
PAYER_CANCELED:用户已撤诉
UNSPECIFIC:状态未知
必填
action_type动作类型String(64)触发本次投诉通知回调的具体动作类型,枚举如下:
CREATE_COMPLAINT:用户提交投诉
CONTINUE_COMPLAINT:用户继续投诉
USER_RESPONSE:用户新留言
RESPONSE_BY_PLATFORM:平台新留言
SELLER_REFUND:收款方全额退款
MERCHANT_RESPONSE:商户新回复
MERCHANT_CONFIRM_COMPLETE:商户反馈处理完成
必填
complaint_id投诉单号String(64)投诉单对应的投诉单号必填

当 risk_type = COMPLAINTV2 时

节点名称中文名称类型说明是否必填
complaint_id投诉单号String(64)投诉单对应的投诉单号必填
complaint_time投诉时间String(32)yyyy-MM-DDTHH:mm:ss.sss+TIMEZONE必填
complaint_detail投诉详情String(300)投诉的具体描述必填
complaint_state投诉单状态String(30)标识当前投诉单所处的处理阶段,具体状态如下所示:
PENDING:待处理
PROCESSING:处理中
PROCESSED:已处理完成
必填
complainted_mchid被诉商户号String(64)微信子商户号必填
payer_openid投诉人OpenIDString(128)投诉人在商户AppID下的唯一标识,支付分服务单类型无可空
payer_phone投诉人联系方式String(64)可空
complaint_order_info投诉单关联订单信息JSONArray必填
complaint_full_refunded投诉单是否已全额退款booleantrue:已全额退款
false:未全额退款
必填
incoming_user_response是否有待回复的用户留言booleantrue:是
false:否
必填
user_complaint_times用户投诉次数Integer用户首次发起投诉记为1次,用户每有一次继续投诉就加1必填
complaint_media_list投诉资料列表JSONArray用户上传的投诉相关资料,包括图片凭证等可空
problem_description问题描述String(256)用户发起投诉前选择的faq标题(2021年7月15日之后的投诉单均包含此信息)必填
problem_type问题类型String可选取值
REFUND:申请退款
SERVICE_NOT_WORK:服务权益未生效
OTHERS:其他类型
可空
apply_refund_amount申请退款金额Integer仅当问题类型为申请退款时有值,单位:分可空
service_order_info投诉单关联服务单信息JSONArray可空
user_tag_list用户标签列表Array[String]可选取值
TRUSTED:此类用户满足极速退款条件
HIGH_RISK:高风险投诉,请按照运营要求优先妥善处理
可空
complaint_order_info 投诉单关联订单信息 (JSONArray)
JSON节点参数名称类型说明是否必填
amount订单金额String(9)单位分必填
out_trade_no商户订单号String(64)必填
transaction_id微信订单号String(64)必填
complaint_media_list 投诉资料列表 (JSONArray)
JSON节点参数名称类型说明是否必填
media_type媒体文件业务类型StringUSER_COMPLAINT_IMAGE:用户提交投诉时上传的图片凭证
OPERATION_IMAGE:用户、商户、微信支付客服在协商解决投诉时,上传的图片凭证
必填
media_url媒体文件请求urlArray[String(512)]微信返回的媒体文件请求url必填
service_order_info 投诉单关联服务单信息 (JSONArray)
JSON节点参数名称类型说明是否必填
order_id微信支付服务订单号String(128)微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应可空
out_order_no商户服务订单号String(128)商户系统内部服务订单号(不是交易单号),与创建订单时一致可空
state支付分服务单状态StringDOING:服务订单进行中
REVOKED:服务订单已取消
WAITPAY:服务订单待支付
DONE:服务订单已完成
可空

返回报文

success

返回报文说明

固定字符串“success”表示接收处理成功,其他表示失败。