微信支付用户如果对订单有疑问或异议,可以通过支付凭证发起投诉,商户需在限定时限内进行回复处理。这个机制设计初衷应该是为了保护消费者权益,促进商户提升服务质量,官方也推出了[投诉处理指南](https://kf.qq.com/faq/210603MVnyYB210603BveqYZ.html)。

但是...重点来了,看一下这个苦主[记录一次令人糟心的微信支付投诉处理](https://developers.weixin.qq.com/community/pay/article/doc/000822f33b8a40f6e0dce1c955a413),实际上我们自己也遇到过类似的场景,在商户本身没有任何过错的情况下,用户涉嫌装无辜连续甚至恶意投诉的时候,商户本身除了退款之外几乎没有其他任何维护自身利益的手段。

微信支付在接到用户投诉的时候可以通过回调消息通知商户进行跟进处理,前面描述的这个场景其实跟本文没有直接关系,只是说明接入投诉消息回调的必要性,避免非商户自身意愿导致商家服务质量指标下降。

首先,调用[创建投诉通知回调地址](https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter10_2_2.shtml)接口,向微信支付登记用于处理投诉通知回调的接口url。代码如下(以[微信支付API Python SDK](https://github.com/minibear2021/wechatpayv3)为例)

from wechatpayv3 import WeChatPay, WeChatPayTypeAPPID = 'wx1234567890'  # 应用appid
MCHID = '1234567890'  # 微信支付商户号
APIV3_KEY = '1234567890ABCDEFG'  # 微信支付APIV3 KEY
CERT_SERIAL_NO = '1234567890ABCDEFG' # 商户证书序列号
with open('path_to_private_key/apiclient_key.pem') as f:PRIVATE_KEY = f.read()
CERT_DIR = './cert' # 平台证书缓存目录wxpay = WeChatPay(wechatpay_type=WeChatPayType.MINIPROG,mchid=MCHID,private_key=PRIVATE_KEY,cert_serial_no=CERT_SERIAL_NO,apiv3_key=APIV3_KEY,appid=APPID,notify_url='',cert_dir=CERT_DIR)code, message = wxpay.complaint_notification_create('https://xxx.com/complaint/notify')
print('{}, {}'.format(code, message))

调用成功的话,微信支付服务器会返回

{"mchid": "1234567890","url": "https://xxx.com/complaint/notify"
}

当发生用户投诉的时候,微信支付会将相关投诉信息推送到前面设置的https://xxx.com/complaint/notify这个地址。下面将回调消息解密,并将解密后的内容推送到企业微信群里,以便相关人员及时更进处理。

import json
import requests
from flask import jsonify, request
from wechatpayv3 import WeChatPay, WeChatPayTypeQIYE_WX_HOOK_URL = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=12345678-abcd-abcd-abcd-12345678' # 企业微信群机器人HOOK URL@app.route("/complaint/notify", methods=['POST'])
def wxnotify():try:wxpay = WeChatPay(wechatpay_type=WeChatPayType.MINIPROG,mchid=MCHID,private_key=PRIVATE_KEY,cert_serial_no=CERT_SERIAL_NO,apiv3_key=APIV3_KEY,appid=APPID,notify_url='',cert_dir=CERT_DIR)result = wxpay.callback(request.headers, request.data.decode())if result and result.get('resource'):data = result.get('resource')complaint_id = data.get('complaint_id')action_type = data.get('action_type')message = '微信支付用户投诉,投诉单号:{},事件类型:{}。'.format(complaint_id, action_type)data = {"msgtype": "markdown","markdown": {"content": message}}requests.post(QIYE_WX_HOOK_URL, json=data)return jsonify({"code": "SUCCESS","message": "成功"})except Exception as e:logger.exception('exception in complaint wxnotify: %s' % e)return '', 500

至此,调试通过后,只需将涉及到微信支付用户投诉的人员,比如:客服、售后、财务、物流等拉个企业微信群,在微信支付端收到用户投诉或者投诉状态变更时,企业微信群机器人将会自动将提示信息推送到群里,方便了日常更进,也提升了用户体验。

这里只是展示了一个相对简单的业务场景,如果商户的业务量较大,业务系统体系和架构复杂,完全可以利用微信支付提供的[消费者投诉2.0](https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter10_2_11.shtml)接口将用户投诉全流程和自己的业务系统对接,不用跳转到第三方系统即可完成用户投诉的处理回复和结单。

微信支付消费者投诉消息推送接入企业微信群相关推荐

  1. SpringBoot实现微信支付流程+RabbitMQ消息推送

    微信支付 整个流程使用到的组件代码: 链接:https://pan.baidu.com/s/1v5415tEtetxdsp4o7HMy5A 提取码:ys87 二维码创建 利用qrious制作二维码插件 ...

  2. 微信小程序开发消息推送配置教程

    微信小程序开发消息推送配置教程 微信小程序开发消息推送配置这一块网上都是PHP居多,由于用egg.js写了一套验证方法. 第一步:填写服务器配置 登录微信小程序官网后,在小程序官网的"设置- ...

  3. pushplus推送到企业微信机器人教程

    pushplus推送到企业微信机器人教程 pushplus官网:http://www.pushplus.plus 引言   pushplus目前已经实现了将消息推送到企业微信.钉钉.飞书机器人等渠道. ...

  4. 微信小程序开发—消息推送

    微信小程序的消息推送简单的说就是发送一条微信通知给用户,用户点开消息可以查看消息内容,可以链接进入到小程序的指定页面. 微信小程序消息推送需要用户触发动作才能发送消息,比如用户提交订单.支付成功.一次 ...

  5. JAVA对接企业微信,实现文本消息推送

    对接企业微信,实现文本消息推送,可分为以下两部: 1.根据企业ID+应用的凭证密钥,获取Token 2.根据Token+要传输的body,实现文本消息推送 1.根据企业ID+应用的凭证密钥,获取Tok ...

  6. 企业微信机器人推送mysql_进阶功能|将数据推送到企业微信群机器人

    当通过金数据收集到新数据/新客资后,如何才能在企业微信中快速通知特定负责人进行处理呢? 小金特别准备了一份文档,帮助大家了解学习噢- 前期准备工作 1.金数据账户 2.WinDeal账户 3.企业微信 ...

  7. dwr消息推送和tomcat集群

    网友的提问: 项目中用到了dwr消息推送.而服务端是通过一个http请求后 触发dwr中的推送方法.而单个tomcat中.服务器发送的http请求和用户都在一个tomcat服务器中.这样就能精准推送到 ...

  8. java推送微信消息换行_5行代码实现微信小程序模版消息推送 (含推送后台和小程序源码)...

    我们在做小程序开发时,消息推送是不可避免的.今天就来教大家如何实现小程序消息推送的后台和前台开发.源码会在文章末尾贴出来. 其实我之前有写过一篇:<springboot实现微信消息推送,java ...

  9. 国内APP消息推送机制以及微信消息延迟问题剖析

    转自:https://club.huawei.com/thread-15878044-1-1.html 一.前言 随着安卓手机以及QQ/微信/支付宝/滴滴出行/美图外卖等一大批移动通信/移动消费应用的 ...

  10. 【Node.js】实现微信小程序订阅消息推送功能

    实战项目名称:实现微信小程序订阅消息通知 文章目录 一.实战步骤 1. 登录微信小程序管理端,添加订阅消息模板 2. 定义好需要发送的消息 3.获取小程序的access_token 4. 发起请求,向 ...

最新文章

  1. 6个月火速炼成千亿参数大模型!背后是披荆斩棘的华为云哥哥们
  2. 《Detroit:Become Human》玩家情感故事背后的叙事魔法和体验设计
  3. mysql如何获取当前时间
  4. nacos 公共_Nacos数据模型
  5. HTTP WS 区别
  6. 配置UIAutomator中的ANT环境报不是内部命令与外部命令
  7. celery监控服务器性能,Python:使用celery处理多个服务器上的参数列表
  8. java中各种时间格式的转化
  9. 六大场景下,模型分数如何应用?
  10. JAVA基础----java中T,?的区别
  11. 计算机硬件 系统安装维护教程 04系统安装-Win-02:使用Dism++对系统进行初始化前配置
  12. xp系统打开计算机硬盘分区,如何在xp系统对硬盘进行分区
  13. 按120分计算成绩 mysql_mySql数据库基础
  14. wincc mysql_Wincc操作数据库SQLSERVER
  15. Swagger导出pdf文档
  16. t460p加固态硬盘 thinkpad_联想T460p加装固态硬盘
  17. 随笔-自控概率的大转盘抽奖
  18. 中华名将索引 - 第一批:孙武
  19. ad敷铜后还有部分飞线_PCB Layout软件分析对比(AD、Pads、Allegro)
  20. 一位零基础转行Python的非常要好的朋友

热门文章

  1. slt mysql_SAP SLT操作手册 PDF 下载
  2. Android Floyd-Steinberg-Dithering、Stucki-dither 抖动处理
  3. openlayers实现地图显示功能
  4. 股票预测和股票分析就用FineBI!
  5. 网页前端 网页换肤(js)
  6. 猫和计算机连接网络,计算机路由器与猫的连接方法步骤
  7. K8s系列之:在容器内获取Pod信息(Downward API)
  8. 2018---2019 数学四班张子琪 C语言设计总结
  9. Vue学习(学习打卡Day16)
  10. 关联分析:Apriori算法