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


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中使用sockets:从新闻组中获取文章
Oct 09 PHP
PHP新手上路(五)
Oct 09 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
php skymvc 一款轻量、简单的php
Jun 28 PHP
PHP中strtotime函数使用方法详解
Nov 27 PHP
解析php中反射的应用
Jun 18 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
php获取远程文件的内容和大小
Nov 03 PHP
php 可变函数使用小结
Jun 12 PHP
PHP面向对象类型约束用法分析
Jun 12 PHP
Laravel框架之解决前端显示图片问题
Oct 24 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游戏编程25个脚本代码
2011/02/08 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
2014/06/09 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
Django中的cookie和session
2019/08/27 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
一个入门级python爬虫教程详解
2021/01/27 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
大学生求职简历的自我评价
2013/10/14 职场文书
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
校长就职演讲稿
2014/01/06 职场文书
实习公司领导推荐函
2014/05/21 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python