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


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 相关文章推荐
PHP脚本中include文件出错解决方法
Nov 20 PHP
php 图像函数大举例(非原创)
Jun 20 PHP
深入理解PHP原理之异常机制
Aug 21 PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
php延迟静态绑定实例分析
Feb 08 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
详解PHP处理字符串类似indexof的方法函数
Jun 11 PHP
php双层循环(九九乘法表)
Oct 23 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
PHP学习之PHP变量
2006/10/09 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
vue实现计算器功能
2020/02/22 Javascript
python快速查找算法应用实例
2014/09/26 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
python speech模块的使用方法
2020/09/09 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
HTML5未来发展趋势
2016/02/01 HTML / CSS
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
2015年置业顾问工作总结
2015/04/07 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
2021/06/11 Python