连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户
  xMfBrWIN5TOc 2023年11月02日 70 0

大家好,我是小悟

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_消费者投诉

1、问题背景

玩过微信支付生态的,或许就有这种感受,如果收到投诉单,不会通知到手机端,只会在微信支付商户后台-账户中心-消费者投诉那里显示。那你能一直盯着电脑看吗?可能当你有空打开电脑登录查看的时候,已经积累了好多超时未处理的投诉单。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_微信支付_02

一旦处理不及时,超时什么的,就会受到处罚,比如调整结算周期、关闭自动提现等等。这个时候找不到人工客服,客服电话永远没人接。提交申述,一周就过去了,时间浪费了不说,照样给你维持原判,不带说原因的。欲哭无泪,找谁说理去。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_消费者投诉_03

正好有小伙伴咨询说可以搞个消费者投诉处理系统吗?当然可以。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_微信支付_04

所以还是搞个系统来处理,起码会比较及时的处理投诉单。废话不多说,来看一下这个系统。

2、商户信息

这里录入的是商户号相关信息,可以新增多个商户号,管理起来也不麻烦,挺方便。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_消费者投诉_05

要准备商户名称、商户平台apiV3密钥、商户号、商户appid、商户API证书序列号、微信支付平台证书序列号、商户API证书位置路径、微信支付平台证书位置路径,这些参数信息到微信支付商户后台获取。

当系统在收到用户投诉时会自动回复,回复的内容就是获取的【商户回复用户内容】字段的值,所以,这个字段填写的内容要友好、客气、礼貌一点,毕竟,客户可是上帝哦。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_消费者投诉_06

如果开启了自动退款,系统收到投诉单后,也会自动退款,然后将投诉单状态改为已处理完成。

如果将状态改为禁用,则系统不会收到投诉单通知。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_微信支付_07

try {
InputStream inStream = request.getInputStream();
ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outSteam.write(buffer, 0, len);
}
outSteam.close();
inStream.close();
String result = new String(outSteam.toByteArray(), StandardCharsets.UTF_8);
logger.info("微信投诉通知回调返回参数result:{}", result);
CallBackBody callBackBody = JSONObject.parseObject(result, CallBackBody.class);
String eventType = callBackBody.getEvent_type();
ResourceBody resource = callBackBody.getResource();
AesUtils aesUtil = new AesUtils(wechatApiV3.getBytes(StandardCharsets.UTF_8));
String resourceStr = aesUtil.decryptToString(
resource.getAssociated_data().getBytes(StandardCharsets.UTF_8),
resource.getNonce().getBytes(StandardCharsets.UTF_8),
resource.getCiphertext());
logger.info("微信投诉通知回调返回参数resourceStr明文:{}", resourceStr);
NotificationResult notificationResult = JSONObject.parseObject(resourceStr, NotificationResult.class);
String complaintId = notificationResult.getComplaint_id();
String actionType = notificationResult.getAction_type();
logger.info("微信投诉通知回调返回参数complaintId:{},actionType:{}", complaintId, actionType);
// 验证微信支付返回签名
String Wtimestamp = request.getHeader("Wechatpay-Timestamp");
String Wnonce = request.getHeader("Wechatpay-Nonce");
String Wsign = request.getHeader("Wechatpay-Signature");
logger.info("Wtimestamp:{},Wnonce:{},Wsign:{}", Wtimestamp, Wnonce, Wsign);
// 拼装待签名串
StringBuffer ss = new StringBuffer();
ss.append(Wtimestamp).append("\n");
ss.append(Wnonce).append("\n");
ss.append(result).append("\n");
// 验证签名
if (SignUtils.v3VerifyRSA(ss.toString(), Base64.decodeBase64(Wsign.getBytes()),
wechatPubKeyPath)) {
logger.info("微信投诉通知回调签名验证成功");
this.handleBusiness(complaintId, eventType, actionType, merchantBaseInfo);
res.put("code", "SUCCESS");
res.put("message", "OK");
} else {
logger.info("微信投诉通知回调签名验证失败");
res.put("code", "ERROR_NAME");
res.put("message", "VERIFY SIGN ERROR");
}
} catch (GeneralSecurityException e) {
e.printStackTrace();
res.put("code", "ERROR_NAME");
res.put("message", e.getMessage());
}

3、通知参数

这个配置的是消息通知参数,如果商户号被投诉了,系统收到投诉单时,会通知接收人。有三种通知渠道,邮箱通知、公众号通知、短信通知,任选其一。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_消费者投诉_08

邮箱通知需要设置发送人邮箱(必须是网易云163邮箱)、发送人邮箱授权码、接收人邮箱。这些需要到网易云163邮箱后台获取。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_微信支付_09

公众号通知需要设置公众号appId、公众号secret、公众号模板消息id、接收人公众号openId。这些需要到公众号后台获取。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_微信支付_10

短信通知需要设置腾讯云短信secretId、腾讯云短信secretKey、腾讯云短信模板id、腾讯云短信appId。这些需要到腾讯云后台获取。

连夜干出来一个自动处理【微信消费者投诉管理系统】,支持多商户_微信支付_11

公众号【悟空码字】后台回复【微信消费者投诉】获取账号密码。


您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: xlrd详解 下一篇: 模板约束介绍
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
xMfBrWIN5TOc