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


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程序
Oct 09 PHP
VB中的RasEnumConnections函数返回632错误解决方法
Jul 29 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
Jan 26 PHP
php从字符串创建函数的方法
Mar 16 PHP
php三元运算符知识汇总
Jul 02 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
php验证码生成器
May 24 PHP
PHP 布尔值的自增与自减的实现方法
May 03 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
Jul 24 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
May 14 PHP
php数值计算num类简单操作示例
May 15 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
初识Javascript小结
2015/07/16 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
Python学习资料
2007/02/08 Python
python之wxPython应用实例
2014/09/28 Python
Python全局变量用法实例分析
2016/07/19 Python
python 网络编程详解及简单实例
2017/04/25 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
django最快程序开发流程详解
2019/07/19 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
大学自主招生自荐信范文
2014/02/26 职场文书
公司投资建议书
2014/05/16 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
行政答辩状范文
2015/05/21 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby