PHP发送微信模版消息

Wesley13
• 阅读 813

业务需求:用户扣除产品消费次数之后发送微信模版消息提醒

业务场景:商户版小程序扫一扫用户二维码,扣除用户某一产品的使用次数

由于商户版小程序和用户版小程序是两个独立的客户端,商户版扣除次数之后,用户版并没有提醒

微信模版消息下发条件如下:

PHP发送微信模版消息

 我们的业务逻辑都不满足这两个下发条件,因为客户端扣除次数时,用户版是没有提醒的,下意识的想到写Socket

当商家版扣除次数时,给用户版提示,然后触发表单获取from_id,咨询了一下朋友,朋友说整个项目如果只有这一个地方使用Socket那还不如写轮询,所以此方案PASS。

思考良久之后想到一个方法,用户版进入二维码页面的同时触发提交表单,获取到from_id,存入数据库。商家版扣除次数之后直接去数据库取from_id,然后就可以发送模版信息了

在你发送模版消息之前,你需要做的几件事:

1,获取用户的openid

2,在小程序后台申请模版,获取所需下发的模板消息的id

3,在小程序后台获取appid和secret。小程序唯一凭证,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)

4,表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id

5,想要调用小程序后端API接口,你需要获取小程序全局唯一后台接口调用凭据(access_token值得注意的是,获取到的access_token是有过期时间的

如果以上都有了,那么恭喜你,你已经可以发送微信模版消息了,类似这样

PHP发送微信模版消息

 剩下的就是调用小程序后端API,发送模版消息了

PHP发送微信模版消息

如何调用请参考小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/template-message/templateMessage.send.html

欢迎大家留言交流沟通,不足的地方请指出,感谢。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
thinkcmf+jsapi 实现微信支付
首先从小程序端接收订单号、金额等参数,然后后台进行统一下单,把微信支付的订单号返回,在把订单号发送给前台,前台拉起支付,返回参数后更改支付状态。。。回调publicfunctionnotify(){$wechatDb::name('wechat')where('status',1)find();
梦
3年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
她左右 她左右
3年前
uni-app - 实现热更新及时提醒用户更新
1.原因分析在小程序更新开发版本之后,用户本地并没有对之前版本的小程序进行删除,那么再进入小程序的时候的版本是不会发生变化的,这是由于发版是异步执行,因此新版本将会覆盖的比较慢,本质是小程序的启动方式分为两种,冷启动与热启动。冷启动:指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。热启动:指用户已经打开过某
Wesley13 Wesley13
3年前
PHP微信小程序支付——签名错误
!(https://static.oschina.net/uploads/space/2018/0509/141657_Tqix_3477605.png)先分清几个概念:微信公众平台、微信开放平台、微信商户平台1.微信公众平台、微信开放平台、微信商户平台是三个不同的平台2.微信公众平台:用于公众号、小程序等等的设置平台,包括APPID、APP
Easter79 Easter79
3年前
Taro小程序自定义顶部导航栏
微信自带的顶部导航栏是无法支持自定义icon和增加元素的,在开发小程序的时候自带的根本满足不了需求,分享一个封装好的组件,支持自定义icon、扩展dom,适配安卓、ios、h5,全面屏。我用的是京东的Taro多端编译框架写的小程序,原生的也可以适用,用到的微信/taro的api做调整就行,实现效果如下。!在这里插入图片描述(https://i
Wesley13 Wesley13
3年前
5个最优秀的微信小程序UI组件库
开发微信小程序的过程中,选择一款好用的组件库,可以达到事半功倍的效果。自从微信小程序面世以来,不断有一些开源组件库出来,下面5款就是排名比较靠前,用户使用量与关注度比较高的小程序UI组件库。还没用到它们的你,可以关注和了解一下哦!WeUIWXSSWeUIWXSS是腾讯官方UI组件库WeUI的小程序版,提供了跟微信界面风格一致的用户体验。