一、配置參數(shù)
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)微信公眾號開發(fā)中ID
WEIXIN_APPID: 應(yīng)用ID
WEIXIN_APPSECRET: 應(yīng)用密鑰
進(jìn)入到公眾平臺首頁,點(diǎn)擊開發(fā)者中心,赫然就能看到,配置頁面中的,這兩個(gè)默認(rèn)就是有的。
2)服務(wù)器配置
WEIXIN_TOKEN,也就是token令牌,自定義的,必須為英文或數(shù)字,長度為3-32字符。
URL服務(wù)器地址,也就說微信公眾號的入口地址。在這個(gè)頁面中,我將做 簽名驗(yàn)證 或接收事件消息, 點(diǎn)擊查看微信相關(guān)文檔 。
1、簽名驗(yàn)證: 當(dāng)做修改配置的時(shí)候,是需要通過這個(gè)地址做簽名驗(yàn)證的
2、接收事件消息: 是指當(dāng)關(guān)注的時(shí)候推送一些消息過來,以及可以做一些特定的邏輯操作
3)微信支付配置
點(diǎn)擊微信支付菜單
WEIXIN_MCHID: 商戶號,在商戶信息中可以查看到
WEIXIN_NOTIFY_URL: 微信支付異步回調(diào)API,可以做更新訂單狀態(tài),發(fā)推送等邏輯
WEIXIN_KEY: 設(shè)置這個(gè)支付密鑰得登錄微信支付商戶平臺,登錄后點(diǎn)擊進(jìn)入API安全,然后下載證書和自己設(shè)置密鑰,就OK了。
二、請求與調(diào)試
php中有個(gè)很方便的 curl ,這里提下CURLOPT_SSL_VERIFYPEER。一開始沒加這個(gè)屬性,請求微信服務(wù)器的時(shí)候每次返回?cái)?shù)據(jù)是false。后面用firefox的HttpRequester模擬請求了一下,可以返回到數(shù)據(jù),查找資料后發(fā)現(xiàn)要設(shè)置下這個(gè)屬性。
CURLOPT_SSL_VERIFYPEER:是否檢測服務(wù)器的證書是否由正規(guī)瀏覽器認(rèn)證過的授權(quán)CA頒發(fā)的
/**
* 原始POST
* @param $url 請求的url地址
* @param $raw 原始數(shù)據(jù),可以為字符串或數(shù)組
* @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,這個(gè)插件,可以模擬post、get等各種提交,content type也可以選擇。
微信開發(fā)也提供了在線測試接口的地方。 點(diǎn)擊查看微信公眾平臺接口調(diào)試工具 。
在請求調(diào)試的時(shí)候,微信會返回各種返回碼。 點(diǎn)擊查看全局返回碼說明 。
新聞熱點(diǎn)
疑難解答