Skip to content

问题现象

用户在小程序下单、支付或进行业务操作后,微信服务通知中没有收到对应的小程序订阅消息提醒。


根本原因与排查步骤

微信小程序订阅消息遵循 “一次性订阅” 规则,必须在前端由用户主动点击触发授权弹窗并同意接收后,后端才能下发一次通知。

检查用户是否在小程序端触发并同意了授权弹窗

  • 微信机制要求:小程序订阅消息必须在用户产生交互动作(如点击“提交订单”、“立即支付”)时拉起微信原生授权弹窗。
  • 排查:确认用户在操作过程中是否弹出了授权确认窗口,并勾选了“允许”接收通知。若用户点击了“拒绝”或在微信设置中关闭了该小程序的通知权限,后端将无法下发消息。

检查后台模板消息 ID 是否已同步

  1. 登录平台总后台 -> 【设置】 -> 【消息管理】(或订阅消息)。
  2. 查看关键业务通知(如支付成功通知、发货通知、账单提醒)对应的“模板ID”是否为空。
  3. 若为空,点击页面顶部的 【同步小程序订阅消息】 重新从微信公众平台拉取模板 ID 并保存。

清理小程序端本地缓存

  • 原因:小程序前端在首次加载时会将后端配置的订阅模板 ID 列表缓存到本地。若后台更新或重新同步了模板 ID,前端若未及时刷新缓存,会使用旧的模板 ID 拉起授权,导致微信鉴权失败。
  • 解决:在微信中下拉小程序任务栏,长按拖动删除该小程序以彻底清理本地缓存,重新搜索进入小程序测试。

检查微信下发日志

查看后端 runtime/log/ 日志,搜索 subscribeMessagesend,查看微信接口返回的 errcode

  • errcode: 43101:用户拒绝接收该模板消息或未授权。
  • errcode: 40037:template_id 不正确或已被删除。
  • errcode: 41030:模板消息中的参数格式与微信后台字段定义不匹配(如字符超出长度限制或时间格式错误)。

承信租多门店租赁商城系统官方文档