1. <i id="s6b2k"><small id="s6b2k"></small></i>
    <b id="s6b2k"><bdo id="s6b2k"></bdo></b>
  2. <wbr id="s6b2k"></wbr>

    PHP 對接美團大眾點評團購券(門票)的開發步驟_php實例

    來源:腳本之家  責任編輯:小易  

    一、功能簡要介紹

        1、根據需求,用戶在美團大眾點評中所購買的門票在自己的系統上可以核銷,同時把核銷信息存儲到自己的系統里。

       2、美團點評API文檔地址:https://open.dianping.com/document/v2?rootDocId=5000

    二、開發步驟:

       1、用點評管家賬號登錄文檔,相應文檔說明:https://open.dianping.com/document/v2?docId=6000136&rootDocId=1000

      2 、選好自己相應的應用型,審核通過之后,就可以用平臺系統的測試的數據就行接口調用

    3、在大眾點評app購買相應票,根據驗券核銷API文檔(根據業務需求選擇的類型是自用型)調取查詢券、驗券即核銷券的接口,代碼如下:

    //查詢券、驗券
     public function prepare(){
      // $arr 為數組 里面為應用參數
      $appKey = "1ef04****e3a8"; //key
      $secret = "dd8a291f9f*****4e3fbd9be6ff"; //秘鑰
      $timestamp = date('Y-m-d H:i:s');
      $format = 'json';
      $v = 1;
      $sign_method = 'MD5';
      $qr_code = '257***4228';
      $open_shop_uuid = '34d5902420ca****48e941a38d773';
      $session = 'bbf7059256aaf3f1****3b4d9c0816cf819b7';
     
      $data = [
       'app_key' => $appKey,
       'timestamp' => $timestamp,
       'sign_method' => $sign_method,
       'format' => $format,
       'v' => $v,
       'session' => $session,
      ];
      $arr = [
       'requestid'=>'123',
       'receipt_code' => $qr_code,
       //'qr_code'=>$qr_code,
       'open_shop_uuid' => $open_shop_uuid,
       //'count'=>1,
       //'app_shop_account' =>'test',
       // 'app_shop_accountname' =>'test1',
      ];
      $data = array_merge($data, $arr);
      ksort($data);
      $sign = $this->cal_sign($secret, $data);//獲取簽名
      $data['sign'] = $sign;
    //  $data['count'] = $sign;
    //  $data['app_shop_account'] = $sign;
    //  $data['app_shop_accountname'] = $sign;
      $data = array_merge($data, $arr);
      $postdata = http_build_query($data);
      $url = 'https://openapi.dianping.com/router/tuangou/receipt/prepare';//輸碼查詢券
      //$url = 'https://openapi.dianping.com/router/tuangou/receipt/scanprepare';//掃碼查詢券
      //$url = 'https://openapi.dianping.com/router/tuangou/receipt/consume';//驗券
      $tmpInfo=$this->curl_post($url,$postdata);
      var_dump($tmpInfo);
     }
     
     
     
    /**
      * 計算簽名
      *
      * @param $app_secret 三方app_secret
      * @param $req_param 請求參數集合,包括公共參數和業務參數
      * @return string md5簽名
      */
     function cal_sign($app_secret, $req_param)
     {
      // 排序所有請求參數
      ksort($req_param);
      $src_value = "";
      // 按照key1value1key2value2...keynvaluen拼接
      foreach ($req_param as $key => $value) {
       $src_value .= ($key . $value);
      }
      //計算md5
      return md5($app_secret . $src_value . $app_secret);
     }
     
     //post請求
      private function curl_post($url,$postdata){
      $curl = curl_init(); // 啟動一個CURL會話
      curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢測
      curl_setopt($curl, CURLOPT_HTTPHEADER, array(
       'Expect:'
      )); // 解決數據包大不能提交
      curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
      curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer
      curl_setopt($curl, CURLOPT_POST, 1); // 發送一個常規的Post請求
      curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); // Post提交的數據包
      curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設置超時限制防止死循
      curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容
      curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
    // curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
      $tmpInfo = curl_exec($curl); // 執行操作
      if (curl_errno($curl)) {
       echo 'Errno' . curl_error($curl);
      }
      curl_close($curl); // 關鍵CURL會話
      $tmpInfo=json_decode($tmpInfo,true);
      return $tmpInfo;
     }
     
     //get請求
     private function curl_get($url) {
      //初使化curl
      $curl = curl_init();
      //請求的url,由形參傳入
      curl_setopt($curl, CURLOPT_URL, $url);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢測
      curl_setopt($curl, CURLOPT_HTTPHEADER, array(
       'Expect:'
      )); // 解決數據包大不能提交
      //將得到的數據返回
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
      //不處理頭信息
      curl_setopt($curl, CURLOPT_HEADER, 0);
      //連接超過10秒超時
      curl_setopt($curl, CURLOPT_TIMEOUT, 30);
      curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
      curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
      curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer
      curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容
      curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
      //執行curl
      $output = curl_exec($curl);
      if (curl_errno($curl)) {
       echo 'Errno' . curl_error($curl);
      }
      //關閉資源
      curl_close($curl);
      //返回內容
      $tmpInfo=json_decode($output,true);
      return $tmpInfo;
     }

    運用平臺提供的相應參數,流程能順利走通。

    4、當放到線上的時候,選擇相應的進行上線,首先要去平臺“我的應用”設置回調地址,然后再授權地址上加上回調地址,還要進行授權去獲取session,然后通過session去獲取店鋪的id

    回調地址:

    授權地址:

    5、授權地址:

    https://e.dianping.com/dz-open/merchant/auth?app_key=1ef0*****e3a8&redirect_url=https://*****/admin/Dian/get_auth&state=teststate&scope=[%22tuangou%22]

    授權地址可以獲取auth_code,根據這個值去換取session,換取session后可以去換取店鋪id

    //獲取auth_code
     
     public function get_auth(){
      $auth_code = input('auth_code');
      if(!isset($auth_code)) {
       $app_key='1ef*****3a8';
       $state='teststate';
       $redirect_url='https://****/admin/Dian/get_auth';
       $scope='tuangou';
       $url='https://e.dianping.com/dz-open/merchant/auth?';
       $data=[
        'app_key' =>$app_key,
        'state' => $state,
        'redirect_url' =>$redirect_url,
        'scope' =>$scope,
       ];
       $postdata = http_build_query($data);
       Header("Location: $url$postdata");
      } else {
       var_dump($auth_code);die();
      }
     }
     
     
     //獲取session
     public function get_session(){
      $app_key='1ef0*****e3a8';
      $app_secret='dd8a291******bd9be6ff';
      $auth_code='4e027519e******a6a9d1ee5f2';
      $grant_type='authorization_code';
      $redirect_url='https://*****/admin/Dian/get_auth';
     
      $data=[
       'app_key' =>$app_key,
       'app_secret' => $app_secret,
       'redirect_url' =>$redirect_url,
       'auth_code' =>$auth_code,
       'grant_type' =>$grant_type
      ];
      $postdata = http_build_query($data);
      $url='https://openapi.dianping.com/router/oauth/token';
      $tmpInfo=$this->curl_post($url,$postdata);
      var_dump($tmpInfo);
     }
     
     
    //獲取所有店鋪的id
     public function get_shopid(){
      $app_key='1ef04*****e3a8';
      $secret = "dd8a29*****fbd9be6ff"; //秘鑰
      $sign_method='MD5';
      $timestamp = date('Y-m-d H:i:s');
      $format = 'json';
      $v = 1;
      //$session = 'f44d594ab895c******85b70bade02c';
      $session = 'bbf7059256aaf3*******0816cf819b7';
      $bid='5da1aab********5ad457a2c';//和session一起返回的
      $offset =0;
      $limit = 20;
      $url='https://openapi.dianping.com/router/oauth/session/scope?';
      $data=[
       'app_key' =>$app_key,
       'sign_method' => $sign_method,
       'timestamp' =>$timestamp,
       'format' =>$format,
       'v' =>$v,
       'session' =>$session,
       'bid' =>$bid,
       'offset' =>$offset,
       'limit' =>$limit,
      ];
      ksort($data);
      $sign = $this->cal_sign($secret, $data);
      $data['sign'] = $sign;
      $postdata = http_build_query($data);
      $tmpInfo=$this->curl_get($url.$postdata);
      var_dump($tmpInfo);
     }

    到此這篇關于PHP 對接美團大眾點評團購券(門票)的開發步驟的文章就介紹到這了,更多相關PHP美團大眾點評團購券內容請搜索真格學網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持真格學網!

    您可能感興趣的文章:php 數組動態添加實現代碼(最土團購系統的價格排序)php 團購折扣計算公式

  3. 本文相關:
  4. 最新制作thinkphp3.2.3完全開發手冊
  5. ci框架數據庫查詢之join用法分析
  6. yii2實現ueditor百度編輯器的示例代碼
  7. php未登錄自動跳轉到登錄頁面
  8. 詳解如何實現laravel的服務容器的方法示例
  9. 老生常談php中的數據結構:ds擴展
  10. php和mysql中32位和64位的整形范圍是多少
  11. php實現圖片縮略圖的方法
  12. php文字水印和php圖片水印實現代碼(二種加水印方法)
  13. 基于php選項與信息函數的使用詳解
  14. 大眾點評一元點評團購券怎么用
  15. 大眾點評的團購卷可以在美團上用嗎。
  16. 加入美團網是怎么收費的?
  17. 大眾點評網上買的團購券到店里怎么用?
  18. 我在大眾點評團了一張吉旺餐廳券 美團也團了一張 ...
  19. 為什么美團大眾點評貓眼都不能團購星美國際影城的...
  20. 大眾點評團購在網上購買可以去實體店消費么?為什...
  21. 消費者在美團大眾上團購可以開發票嗎
  22. 大眾點評 美團 我是商家怎么驗證客戶的團購單子
  23. 美團和大眾點評的代金券可不可以一起用
  24. 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全php基礎php技巧php實例php文摘php模板首頁php編程php 數組動態添加實現代碼(最土團購系統的價格排序)php 團購折扣計算公式最新制作thinkphp3.2.3完全開發手冊ci框架數據庫查詢之join用法分析yii2實現ueditor百度編輯器的示例代碼php未登錄自動跳轉到登錄頁面詳解如何實現laravel的服務容器的方法示例老生常談php中的數據結構:ds擴展php和mysql中32位和64位的整形范圍是多少php實現圖片縮略圖的方法php文字水印和php圖片水印實現代碼(二種加水印方法)基于php選項與信息函數的使用詳解php獲取數組長度的方法(有實例)微信公眾平臺實現獲取用戶openid教你如何使用php session使用php生成二維碼的兩種方法(帶php錯誤allowed memory size of php保留兩位小數的幾種方法php發送get、post請求的6種方法簡php刪除數組中空值的方法介紹php中把stdclass object轉array的微信公眾平臺網頁授權獲取用戶基純php代碼實現支付寶批量付款php實現百度人臉識別php中如何防止外部惡意提交調用ajax接口php 記錄訪客的瀏覽信息方法laravel 解決路由除了根目錄其他都404的問thinkphp實現二級循環讀取的方法yii2框架實現登錄、退出及自動登錄功能的laravel框架模板繼承操作示例smarty模板引擎中變量及變量修飾器用法實thinkphp5使用laypage分頁插件實現列表分
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.yu113.com All Rights Reserved
    战天txt全集下载