微信小程序 推送模板教程 附源码

无聊的时候 玩一下小功能踩踩坑 
首先模板推送 需要准备一些材料
准备材料:1)公众号|小程序,添加选择的模板消息,2)在设置>开发设置页面,开通消息模板功能;如:
 

如果还没模板素材的 请新建一个 根据自己的需求去 模板库里面选择 

记住自己选的内容  等会的定义参数时需要用到
注意:因为调用微信发送模板的接口是:https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=$access_token,本来直接在小程序端发送就好啦,结果api.weixin.qq.com域名不能添加到公众号request合法域名,所以只能在后台发起请求(php)。
 

首先得完成支付功能,在支付成功回调中调用这个模板推送  需要用到支付参数里面的 prepay_id 


支付成功 想服务器请求推送模板 传你需要的参数  用户ID prepay_id  什么的  (附后端代码)

先要获取access_token 下面附上源码

注:需要注意的是 测试只能在真机上面测试 而在开发者工具测试是会返回 41028 错误的 ,

form_id产生必须把消息发送给本人(比如用我自己的手机点击了一个事件触发发送模板消息,这个模板消息值能发送给我自己。支付prepay_id也一样,谁支付,就发送给谁,其他人不能发送) 


下发条件说明


*支付
当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)


*提交表单
当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)

你看上面这几点就是微信的克制,支付成功只能发送三次模板消息提醒,如果只是提交表单,则只能发送一次模板消息提醒。

后来在网上搜了下 发现其他同学也遇到类似这样的问题:


在开发小程序支付成功后,
发送模板消息过程中,
提交好多次数据,
微信都提示 form id invalid,
说我们的 form id 无效
于是不停的更换 form_id 的填写方式,
包括下面的都使用过,
form_id=”wx2017xxxxxx”
form_id=”prepay_id=wx2017xxxxxx”
prepay_id=”wx2017xxxxxx”
prepay_id=”prepay_id=wx2017xxxxxx”
最后还是发现使用
form_id=”wx2017xxxxxx”
模板消息能发送成功。

有问题可加微信讨论:ai_002 

猜你喜欢

转载自blog.csdn.net/weixin_38984353/article/details/81779012