亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php微信開發(fā)接入

 更新時間:2016年08月27日 11:06:49   作者:chris_mao  
這篇文章主要為大家詳細介紹了php微信開發(fā)接入,通過檢驗signature對請求進行校驗,感興趣的小伙伴們可以參考一下

微信,想必大家都不陌生,像支付寶一樣在悄悄的改變大家的生活方式。伴隨著這種新的生活方式,越來越多的微服務(wù)也開始進入我們的生活,我們可以使用微信查詢信用卡帳單、還款、支付,在最近的一次微信合作伙伴大會上,騰訊向公眾服務(wù)號開放支付功能與九大高級接口,透過這些接口,開發(fā)者可以實現(xiàn)使用利用微信搖控電視、冰箱、洗衣機甚至電飯煲,使用微信的微支付功能,還能方便地在線購買電影票、手機充值、收看互聯(lián)網(wǎng)電視付費節(jié)目等。

下面,就我個人的了解,簡單講述一下微信開發(fā)的第一步,如何與微信服務(wù)器對接。

想要涉足微信開發(fā),第一步就是要申請一個微信公眾號。公眾號分為服務(wù)號和訂閱號。服務(wù)號,故名思義,主要是對用戶提供服務(wù)的,一般是企業(yè)或是服務(wù)行業(yè)用的比較多,功能相對訂閱號要強大一些,可以自定義用戶菜單;但也有不方便的地方,就是服務(wù)號一個月只允許發(fā)送一條群消息。訂閱號,主要是提供信息和資訊,一般是媒體用的比較多,功能相對服務(wù)號要弱一些,但可以每天發(fā)送一條群消息。以下的講述,都是以服務(wù)號為基礎(chǔ)。

微信公眾號申請好之后,我們還需要一個對外的WEB服務(wù)器,方便和微信服務(wù)器進行數(shù)據(jù)交互。這一步我就不細講了,百度和新浪都提供這個服務(wù)。

登錄微信公眾平臺,在左側(cè)的導(dǎo)航菜單中選擇“功能”--> “高級功能”, 微信為我們提供了兩種“編輯模式”和“開發(fā)模式”,這兩種模式互斥,即如果開啟了“編輯模式”,則需要將“開發(fā)模式”關(guān)閉,反之亦然。“編輯模式”又稱傻瓜模式,開發(fā)者可以直接在平臺上定義菜單,設(shè)置自動回復(fù)等功能。這里定義的菜單功能比較弱,用戶點擊自定義菜單后,只能夠回復(fù)信息或是打開一個網(wǎng)頁,如果需要根據(jù)用戶點擊的菜單做一些其他動作,則需要使用到“開發(fā)模式”。

使用”開發(fā)模式“的前提是您必須申請成為開發(fā)者。

         第一步需要指定接收微信服務(wù)器數(shù)據(jù)的URL,同時還需要指定一個TOKEN(由開發(fā)者任意填寫,用于生成簽名),用于接入時的驗證。 

        第二步要驗證您指定的URL的有效性,微信服務(wù)器會像您指定的URL發(fā)送一個GET請求,該請求攜帶四個參數(shù)。

開發(fā)者通過檢驗signature對請求進行校驗。若確認此次GET請求來自微信服務(wù)器,請原樣返回echostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則接入失敗。 

PHP檢驗代碼如下。 

<?php

  $wechatObj = new wechatCallbackAPI();
  $wechatObj->valid(); 


  class wechatCallbackAPI {

    private $token = "WEIXIN";

    private $appId = "APPID";

    private $appSecret = "APPSECRET";
    
    private function checkSignature() {
      $signature = $_GET["signature"];
      $timestamp = $_GET["timestamp"];
      $nonce = $_GET["nonce"];  
          
      $tmpArr = array($this->token, $timestamp, $nonce);
      sort($tmpArr);
      $tmpStr = implode($tmpArr);
      $tmpStr = sha1($tmpStr);
      
      if($tmpStr == $signature) {
        return true;
      } else {
        return false;
      }
    }

    public function valid() {
      $echoStr = $_GET["echostr"];
      
      //valid signature, option
      if($this->checkSignature()){
        echo $echoStr;
        exit;
      }
    }
  }
?>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論