微信公众平台开发之配置与请求
一、配置参数
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原始数据,可以为字符串或数组
*@returnmixed返回请求值
*/
publicfunctionrawpost($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等各种提交,contenttype也可以选择。
微信开发也提供了在线测试接口的地方。点击查看微信公众平台接口调试工具。
在请求调试的时候,微信会返回各种返回码。点击查看全局返回码说明。