微信公众平台开发之配置与请求


Posted in PHP onAugust 26, 2015

一、配置参数

define('WEIXIN_APPID', 'wxzzzzzzzz');
define('WEIXIN_APPSECRET', 'ouewjdsaudsamkh');
define('WEIXIN_TOKEN', '9973833232232');
define('WEIXIN_NOTIFY_URL', 'http://xx.com/xx/xx');
define('WEIXIN_MCHID', '322221121');
define('WEIXIN_KEY', 'xddsdswewew');

1)微信公众号开发中ID

WEIXIN_APPID: 应用ID

WEIXIN_APPSECRET: 应用密钥

进入到公众平台首页,点击开发者中心,赫然就能看到,配置页面中的,这两个默认就是有的。

2)服务器配置

WEIXIN_TOKEN,也就是token令牌,自定义的,必须为英文或数字,长度为3-32字符。

URL服务器地址,也就说微信公众号的入口地址。在这个页面中,我将做 签名验证 或接收事件消息, 点击查看微信相关文档 。

1、签名验证: 当做修改配置的时候,是需要通过这个地址做签名验证的

2、接收事件消息: 是指当关注的时候推送一些消息过来,以及可以做一些特定的逻辑操作

3)微信支付配置

点击微信支付菜单

WEIXIN_MCHID: 商户号,在商户信息中可以查看到

WEIXIN_NOTIFY_URL: 微信支付异步回调API,可以做更新订单状态,发推送等逻辑

WEIXIN_KEY: 设置这个支付密钥得登录微信支付商户平台,登录后点击进入API安全,然后下载证书和自己设置密钥,就OK了。

二、请求与调试

php中有个很方便的 curl ,这里提下CURLOPT_SSL_VERIFYPEER。一开始没加这个属性,请求微信服务器的时候每次返回数据是false。后面用firefox的HttpRequester模拟请求了一下,可以返回到数据,查找资料后发现要设置下这个属性。

CURLOPT_SSL_VERIFYPEER:是否检测服务器的证书是否由正规浏览器认证过的授权CA颁发的
/**
 * 原始POST
 * @param $url 请求的url地址
 * @param $raw 原始数据,可以为字符串或数组
 * @return mixed 返回请求值
 */
public function rawpost($url, $raw)
{
  $resource = curl_init();
  curl_setopt($resource, CURLOPT_POST, true);
  curl_setopt($resource, CURLOPT_URL, $url);
  curl_setopt($resource, CURLOPT_POSTFIELDS, $raw);
  curl_setopt($resource, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($resource, CURLOPT_SSL_VERIFYHOST, false);
  curl_setopt($resource, CURLOPT_SSL_VERIFYPEER, false);
  //curl_setopt($resource, CURLOPT_HTTPHEADER, array('Expect:'));
  $data = curl_exec($resource);
  curl_close($resource);
  return $data;
}

这里推荐下HttpRequester,这个插件,可以模拟post、get等各种提交,content type也可以选择。

微信开发也提供了在线测试接口的地方。 点击查看微信公众平台接口调试工具 。

在请求调试的时候,微信会返回各种返回码。 点击查看全局返回码说明 。

PHP 相关文章推荐
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 PHP
php下使用无限生命期Session的方法
Mar 16 PHP
PHP循环语句笔记(foreach,list)
Nov 29 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
Django中的cookie与session操作实例代码
Aug 17 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
php基础教程
Aug 26 #PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 #PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
Aug 25 #PHP
百度地图API使用方法详解
Aug 25 #PHP
PHP实现生成唯一会员卡号
Aug 24 #PHP
PHP实现微信发红包程序
Aug 24 #PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 #PHP
You might like
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
Python使用贪婪算法解决问题
2019/10/22 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
django美化后台django-suit的安装配置操作
2020/07/12 Python
如何用Python 加密文件
2020/09/10 Python
抽象方法、抽象类怎样声明
2014/10/25 面试题
集团薪酬管理制度
2014/01/13 职场文书
开学季活动策划方案
2014/02/28 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
深入理解Pytorch微调torchvision模型
2021/11/11 Python
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL