使用easywechat做小程序模板消息推送

先说一下工具: easywechat+laravel5.5

easywechat的安装我就不说了,,,,,工作上需要用到讲到这方面的功能,踩了一些坑,,我是很佩服那些写博客的都是东抄抄西抄抄,,讲也不讲清楚,,,翻了N多帖子,终于找到问题所在.

首先先去微信公众平台添加模板消息,点添加后面跟着步骤来,,很简单的

然后我们看easywechat的文档

其中,form_id可以后面写两种,一种 是表单id(前端的事情,后端的我表示不知道,怎么弄让前端弄去),1次提交表单可下发1条,多次提交下发条数独立,相互不影响

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

坑来了,表单推送,我都能完成,但是用支付那个,都会出现errcode: 41028, errmsg: "invalid form id hint:的错误

这个坑非常烦,很多博文都没有提到这点,我上述写的没那么细的原因是其实大部分博文都有,,,我只要是想讲述这件事

就是在调试里 ,生成的二维码支付是不行的                

必需是真实环境 (真机调试) 在小程序里 发起支付     然后发送消息才行 ,

还有啥问题可以留言,会的我会解答

### EasyWeChat 6.x 版本中模板消息使用EasyWeChat 6.x版本中,发送模板消息的功能被集成到了`OfficialAccount\Client`类下。为了成功发送一条模板消息,开发者需要准备如下几个要素: - 接收者openid - 模板ID - 跳转链接(可选) - 数据参数 #### 准备工作 首先,在项目根目录执行Composer命令来安装最新版的EasyWeChat SDK[^2]。 ```bash composer require overtrue/wechat:~6.0 ``` 接着,在Laravel框架内完成服务提供者的注册以及配置文件发布操作[^1]。 #### 发送模板消息实例 下面是一个简单的例子展示如何通过EasyWeChat向指定用户发送模板消息: ```php use EasyWeChat\Factory; $app = Factory::officialAccount(config('wechat.official_account.default')); $client = $app->template_message; $messages = [ 'touser' => 'OPENID', // 用户OpenId 'template_id' => 'TEMPLATE_ID', // 微信后台审核通过后的模板ID 'url' => 'http://weixin.qq.com/download', // 可选跳转链接 'data' => [ 'first' => ['value' => '您好,您有一条新的订单通知'], 'keyword1' => ['value' => '订单号:123456789'], 'keyword2' => ['value' => date('Y-m-d H:i:s')], 'remark' => ['value' => '感谢您的支持'] ] ]; try { $result = $client->send($messages); } catch (\Exception $exception) { echo "Error Message:" . $exception->getMessage(); } ``` 这段代码展示了创建一个官方账号应用对象,并调用其下的`template_message`属性获取客户端实例,最后构建并尝试发送带有特定数据结构的消息体给定目标用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值