微信公众平台开发概述 微信开发者规范 微信公众号接口权限说明 微信公众号接口调用频次限制说明 微信开发者平台接入指南 微信公众平台 接口域名说明 微信公众平台 获取access_token 获取微信服务器IP地址 报警排查指引 接口测试号申请 自定义菜单创建接口 自定义菜单查询接口 自定义菜单删除接口 自定义菜单事件推送 个性化菜单接口 获取自定义菜单配置接口 接收普通消息 接收事件推送 被动回复用户消息 消息加解密说明 客服消息 高级群发接口 模板消息接口 模板消息运营规范 获取公众号的自动回复规则 微信网页授权 微信网页开发样式库 微信JS-SDK说明文档 微信web开发者工具 新增临时素材 获取临时素材 新增永久素材 删除永久素材 修改永久图文素材 获取素材总数 获取素材列表 用户标签管理 设置用户备注名 获取用户基本信息(UnionID机制) 获取用户列表 获取用户地理位置 黑名单管理 生成带参数的二维码 长链接转短链接接口 微信认证事件推送 用户分析数据接口 图文分析数据接口 消息分析数据接口 接口分析数据接口 微信卡券接口 创建卡券 投放卡券 核销卡券 管理卡券 卡券事件推送 会员卡专区(一) 会员卡专区(二) 朋友的券专区 特殊票券 第三方开发者模式 卡券错误码 微信门店接口 微信小店接口 语义理解接口 微信服务号设备功能介绍 如何新增产品型号 将消息转发到微信客服 微信客服管理 微信会话控制 微信获取聊天记录 申请开通微信摇一摇 微信设备ID 微信摇一摇页面管理 微信摇一摇上传图片素材 管理设备与页面的关联关系 微信摇一摇数据统计 摇一摇关注的JSAPI 摇一摇事件通知 html5页面获取设备信息 微信摇一摇获取设备及用户信息 摇一摇红包介绍说明 摇一摇周边错误码 微信连Wi-Fi开发者指引 Wi-Fi硬件鉴权协议接口说明 Wi-Fi软件服务管理接口说明 开通微信连Wi-Fi插件 Wi-Fi门店管理 Wi-Fi设备管理 配置微信WiFi联网方式 微信商家主页管理 Wi-Fi数据统计 连网后下发消息 微信卡券投放 微信Wi-Fi接口返回错误码 微信连网过程常见错误码 微信扫一扫接入指南 微信上进行商品创建 微信商品发布 微信商品管理 扫一扫事件推送 一物一码专区 扫一扫错误码 在线帮助工具

微信门店

微信公众平台开发者文档

浏览43355
更新时间2022-04-11

接入指南



1474540284574497.jpg


接入概述


接入微信公众平台开发,开发者需要按照如下步骤完成:


  1. 填写服务器配置
  2. 验证服务器地址的有效性
  3. 依据接口文档实现业务逻辑


下面详细介绍这3个步骤。


第一步:填写服务器配置


登录微信公众平台官网后,在公众平台官网的开发-基本设置页面,勾选协议成为开发者,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

同时,开发者可选择消息加解密方式:明文模式、兼容模式和安全模式。模式的选择与服务器配置在提交后都会立即生效,请开发者谨慎填写及选择。加解密方式的默认状态为明文模式,选择兼容模式和安全模式需要提前配置好相关加解密代码。 


第二步:验证消息的确来自微信服务器


开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示:


参数 描述
signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串




开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1)将token、timestamp、nonce三个参数进行字典序排序
2)将三个参数字符串拼接成一个字符串进行sha1加密
3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信


检验signature的PHP示例代码:


private function checkSignature()
{
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}



第三步:依据接口文档实现业务逻辑


验证URL有效性成功后即接入生效,成为开发者。你可以在公众平台网站中申请微信认证,认证成功后,将获得更多接口权限,满足更多业务需求。


成为开发者后,用户每次向公众号发送消息、或者产生自定义菜单、或产生微信支付订单等情况时,开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,开发者可以依据自身业务逻辑进行响应,如回复消息。


公众号调用各接口时,一般会获得正确的结果,具体结果可见对应接口的说明。返回错误时,可根据返回码来查询错误原因。


用户向公众号发送消息时,公众号方收到的消息发送者是一个OpenID,是使用用户微信号加密后的结果,每个用户对每个公众号有一个唯一的OpenID。


此外,由于开发者经常有需在多个平台(移动应用、网站、公众帐号)之间共通用户帐号,统一帐号体系的需求,微信开放平台提供了UnionID机制。开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个应用(移动应用、网站应用和公众帐号,公众帐号只有在被绑定到微信开放平台帐号下后,才会获取UnionID),可通过获取用户基本信息中的UnionID来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的UnionID是唯一的。换句话说,同一用户,对同一个微信开放平台帐号下的不同应用,UnionID是相同的。详情请在微信开放平台的资源中心-移动应用开发-微信登录-授权关系接口调用指引-获取用户个人信息(UnionID机制)中查看。


另请注意,微信公众号接口必须以http://或https://开头,分别支持80端口和443端口。

相关视频

更多

免费

php8,我来也
初级php8,我来也

34万次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

39.6万次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

31万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

64.9万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.2万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.6万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.1万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.3万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.2万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载