交易渠道(暂时通知只支持微信)对客户投诉或确认交易违规时,会将案例推送给通联收银宝系统,收银宝会通过主动发起http post请求的方式,把通知信息转接推送到客户在收银宝客户平台配置的风控通知地址,请求参数如下:
注意:因为以后可能会增加通知参数,请获取全量变量,然后遍历获取非空变量,而不能用request.getparam(“key”)这样用文档中的字段名来一个个获取,到时候收银宝增加通知字段,就无法兼容了.请参考demo
通知的每一个字段都会进行UTF-8的UrlEncode,如果商户接收结果的服务器用web容器进行接收,例如TOMCAT,IIS.则无需进行URLDecode,如果不是用web容器进行接收,而是读数据流自己进行解析,则需要进行UTF-8的UrlDecode
以java为例:
String trxreserve = "订购人+10086";
String sendData = URLEncoder.encode(trxreserve, "UTF-8");
String getData = URLDecoder.decode(sendData, "UTF-8");
通知响应结果:
商户服务端在接收到结果通知并正确处理后,应响应消息。正确处理响应success,其他响应或者不响应通联开发平台则通过重发机制进行重发,重发次数为5次
对后台通知交互时,如果通联收到商户的应答不符合规范或超时,通联认为通知失败,通联会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但通联不保证通知最终能成功。(通知频率为15s/15s/5m/10m/15m - 总计30m30s)
字段 |
名称 |
取值 |
最长长度 |
说明 |
---|---|---|---|---|
cusid |
商户编号 |
|
15 |
|
appid |
收银宝APPID |
|
8 |
|
sign |
sign校验码 |
|
256 |
|
id |
通知的唯一ID |
|
36 |
|
risktype |
风控结果类型 |
|
32 |
VIOLATION:违规 |
create_time |
通知创建的时间 |
|
32 |
遵循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秒 |
event_type |
通知的类型,投诉事件通知的类型 |
|
32 |
违规类型: |
resource_type |
知的资源数据类型 |
encrypt-resource |
|
|
summary |
回调摘要 |
|
64 |
|
resource |
通知资源数据 |
|
|
JSON格式 |
(1)当risktype= VIOLATION时,resource通知资源数据包含字段
字段 |
名称 |
取值 |
最长长度 |
说明 |
---|---|---|---|---|
sub_mchid |
渠道子商户号 |
|
32 |
该商户平台处置记录对应的商户号 |
company_name |
子商户公司名称 |
|
64 |
|
record_id |
唯一标识 |
|
128 |
微信支付对违约商户处理通知的唯一标识,可用于去重 |
punish_plan |
具体处罚方案 |
|
2048 |
微信支付对违约商户的具体处罚方案, 可根据具体的处罚方案指引商户登录商户平台/商家助手小程序进行申诉/相关操作, 使用时请留意该值为处罚方法的文本内容,并非枚举值。 |
punish_time |
处置时间 |
|
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 |
描述信息 |
|
128 |
微信支付对违约商户处罚方案的详细描述信息,补充处罚方案的相关影响。 |
risk_type |
风险类型 |
|
2048 |
微信支付对违约商户定义的风险类型,枚举值: |
risk_description |
中文描述 |
|
2048 |
微信支付对违约商户定义的风险类型枚举值对应的中文描述 |
(2)当risktype= COMPLAINT时,resource通知资源数据包含字段
字段 |
名称 |
取值 |
最长长度 |
说明 |
---|---|---|---|---|
sub_mchid |
渠道子商户号 |
|
32 |
该商户平台处置记录对应的商户号 |
out_trade_no |
收银宝交易单号 |
|
18 |
|
complaint_time |
投诉时间 |
|
|
微信支付对违约商户的处置时间, 遵循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 |
交易金额 |
|
|
单位:分 |
payer_phone |
投诉人联系方式 |
|
32 |
投诉人联系方式 |
complaint_detail |
投诉详情 |
|
2048 |
|
complaint_state |
投诉单状态 |
|
|
标识当前投诉单所处的处理阶段,具体状态如下所示: PAYER_COMPLAINTED:用户已投诉 |
transaction_id |
渠道交易ID |
|
|
微信交易ID |
complaint_handle_state |
投诉单处理状态 |
|
64 |
投诉单处理进展状态, 标识当前投诉单所处的处理阶段, 描述用户与商户的沟通反馈进度, 将逐步取代投诉状态。具体状态如下所示: |
action_type |
动作类型 |
|
64 |
触发本次投诉通知回调的具体动作类型,枚举如下: |
complaint_id |
投诉单号 |
|
64 |
投诉单对应的投诉单号 |
(2)当risktype= COMPLAINTV2时,resource通知资源数据包含字段
字段 |
名称 |
取值 |
最长长度 |
说明 |
---|---|---|---|---|
complaint_id |
投诉单号 |
|
64 |
投诉单对应的投诉单号 |
complaint_time |
投诉时间 |
|
32 |
|
complaint_detail |
投诉详情 |
|
300 |
投诉的具体描述 |
complaint_state |
投诉单状态 |
|
30 |
标识当前投诉单所处的处理阶段,具体状态如下所示: |
complainted_mchid |
被诉商户号 |
|
64 |
微信子商户号 |
payer_phone |
投诉人联系方式 |
|
64 |
|
payer_openid |
投诉人OpenID |
|
128 |
投诉人在商户AppID下的唯一标识,支付分服务单类型无 |
complaint_order_info |
投诉单关联订单信息 |
|
|
array[ComplaintOrderInfo] |
complaint_full_refunded |
投诉单是否已全额退款 |
|
|
投诉单下所有订单是否已全部全额退款 |
incoming_user_response |
是否有待回复的用户留言 |
|
|
投诉单是否有待回复的用户留言 |
user_complaint_times |
用户投诉次数 |
|
|
用户投诉次数。用户首次发起投诉记为1次,用户每有一次继续投诉就加1 |
complaint_media_list |
投诉资料列表 |
|
|
array[ComplaintMedia] 属性 media_type 媒体文件业务类型 可选取值:
media_url媒体文件请求url |
problem_description |
问题描述 |
|
256 |
|
problem_type |
问题类型 |
|
|
|
apply_refund_amount |
申请退款金额 |
|
|
|
user_tag_list |
用户标签列表 |
|
|
array[string] 用户标签列表 TRUSTED: 此类用户满足极速退款条件 HIGH_RISK: 高风险投诉,请按照运营要求优先妥善处理 |
service_order_info |
投诉单关联服务单信息 |
|
|
array[ServiceOrderInfo] 属性: order_id 微信支付服务订单号 out_order_no 商户服务订单号 state 支付分服务单状态 可选取值:
|
additional_info |
补充信息 |
|
|
|