当前位置:首页>php>PHP 实战教程 · 微信公众号模板消息快速接入

PHP 实战教程 · 微信公众号模板消息快速接入

  • 2026-09-06 21:12:12
PHP 实战教程 · 微信公众号模板消息快速接入

PHP 项目快速接入微信公众号模板消息

最近把微信公众号模板消息整理成了一个可以直接复用的 PHP Demo,适合订单通知、支付提醒、审核结果、会员服务等场景。📩

很多项目接入时,真正麻烦的不是调用接口,而是:

  • •

    access_token 要不要每次重新获取?

  • •

    token 过期后怎么处理?

  • •

    模板数据字段怎么组装?

  • •

    OpenID 无效到底是哪一步出了问题?

这套封装把这些基础逻辑都整理好了,其他 PHP 项目复制核心文件就能开始集成。✨

一、先准备这 5 项

1️⃣ 已认证的微信公众号服务号或可用测试号

 2️⃣ AppID 

3️⃣ AppSecret 

4️⃣ 模板 ID 

5️⃣ 接收用户的 OpenID

⚠️ 重点:OpenID 必须属于当前公众号,不能拿其他公众号的 OpenID 直接使用。通常还要求用户已经关注该服务号。

二、核心目录其实很简单

⁠⁠⁠

config/config.php
includes/WechatTemplate.php
includes/functions.php
cache/access_token.json
logs/wechat.log

真正需要复制的核心文件只有 3 个:

  • •

    config/config.php:微信配置

  • •

    includes/WechatTemplate.php:获取 token、发送消息、写日志

  • •

    includes/functions.php:配置读取和基础校验

三、配置 AppID 和模板 ID

⁠⁠⁠

'wechat'=>[
'app_id'=>'你的 AppID',
'app_secret'=>'你的 AppSecret',
'template_id'=>'你的模板ID',
],

不要把真实 AppSecret 发到笔记、群聊或代码仓库里,示例里统一使用占位符。🔐

四、发送消息只需要一次调用

⁠⁠⁠

$wechat=newWechatTemplate($config);

$result=$wechat->sendMessage(
$openid,
$data,
'https://example.com/order/detail'
);

access_token 获取、缓存、接口请求和日志记录,都已经封装在 WechatTemplate 类里了。

五、模板数据要和后台字段一致

⁠⁠⁠

$data=[
'first'=>['value'=>'您有一笔新订单'],
'keyword1'=>['value'=>'20260817001'],
'keyword2'=>['value'=>'测试商品'],
'keyword3'=>['value'=>'¥99.00'],
'remark'=>['value'=>'点击查看详情'],
];

模板里叫 keyword1,代码里就要传 keyword1;字段名不一致,消息就可能发送失败。📌

六、常见错误码速查

  • •

    40003:OpenID 无效,先确认是否属于当前公众号

  • •

    40037:模板 ID 错误

  • •

    42001:access_token 失效,重新获取即可

  • •

    45009:接口调用频率超限

排查时先看:

⁠⁠⁠

logs/wechat.log

一句话总结

如果你的 PHP 项目需要订单、支付、审核等公众号通知,可以先把这 3 个核心文件接进去,再根据自己的模板字段调整 $data。💡

建议收藏,后面接微信消息通知时直接翻出来用!

你在接入微信公众号模板消息时,遇到过 40003 还是模板字段不匹配?评论区可以一起排查👇

#PHP #PHP开发 #微信公众号开发 #微信开发 #后端开发

最新文章

随机文章