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


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 smarty模版引擎中的缓存应用
Dec 11 PHP
PHP中操作ini配置文件的方法
Apr 25 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
WordPress中获取指定分类及其子分类下的文章数目
Dec 31 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
Apr 27 PHP
php实现微信企业转账功能
Oct 02 PHP
PHP+redis实现的购物车单例类示例
Feb 02 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 PHP
浅谈laravel框架与thinkPHP框架的区别
Oct 23 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开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
pymysql 开启调试模式的实现
2019/09/24 Python
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
百度软件工程师职位
2013/02/14 面试题
Java程序员综合测试题
2014/04/25 面试题
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
售后服务承诺书模板
2014/05/21 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
质检员工作总结2015
2015/04/25 职场文书
成绩单家长意见
2015/06/03 职场文书
任命书格式范文
2015/09/22 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
股权投资协议书
2016/03/23 职场文书
Redis基本数据类型List常用操作命令
2022/06/01 Redis