一、配置參數
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也可以選擇。
微信開發也提供了在線測試接口的地方。 點擊查看微信公眾平台接口調試工具 。
在請求調試的時候,微信會返回各種返回碼。 點擊查看全局返回碼說明 。