實名認證接口

/*需要得到agent_id,datakey,key這三個值*/  


 $apiUrl = "https://www.heepay.com/API/Merchant/Reality.aspx";
        $version = '1';  //版本號
        $agent_id = '';
        $name = $request->post('name');
        $datakey ="";  //數據加密key
        $key ="";  //簽名key
        //提交參數的中文爲GB2312編碼,參與簽名驗證的中文爲UTF-8編碼
        $gb_name = iconv("UTF-8","gb2312//IGNORE",$name);  //商戶頁面如果不是GB2312,則需要此處轉碼
        /*3DES加密*/
        $crypt_name = $this->encrypt($gb_name,$datakey);  //姓名進行3DES加密
       // dump($crypt_name);exit;
        $crypt_cert_no = $this->encrypt($cert_no,$datakey);  //身份證號進行3DES加密
       // dump($crypt_name);exit;
        $params = array(
            'key' => $key,
            'version'=>$version,
            'agent_id'=>$agent_id,
            'name'=>$crypt_name,
            'cert_no'=>$crypt_cert_no,
        );
        //ksort($params);
 //       $signStr='';
//        foreach($params as $key=>$val){
//            $signStr .= $key .'=' . $val.'&';
//        }
//       // rtrim($signStr,"&");
//        $signStr = substr($signStr, 0, -1);
        $signStr='';
        $signStr  = $signStr . 'agent_id=' . $agent_id;
        $signStr  = $signStr . '&cert_no=' . $cert_no;
        $signStr = $signStr . '&key=' . $key;
        $signStr  = $signStr . '&name=' . $name;
        $signStr  = $signStr . '&version=' . $version;
        $sign = md5(strtolower($signStr));  //獲取sign密鑰
        $params['sign'] = $sign;
        $ch = curl_init ();
        curl_setopt ( $ch, CURLOPT_URL, $apiUrl );
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 從證書中檢查SSL加密算法是否存在
        curl_setopt ( $ch, CURLOPT_POST, 1 );
        curl_setopt ( $ch, CURLOPT_HEADER, 0 );
        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
        $return = curl_exec ( $ch );
        //不是JSON格式,是一個xml  先將字串由gb2312轉成utf8
        $res = iconv("GB2312","UTF-8",$return);
        $xml=simplexml_load_string($res);
        $xml=(array)$xml;
        curl_close ( $ch );
        if($xml['ret_code'] == '0000'){
            $this->success('實名認證成功','/');
        }else{
            $this->error('實名認證失敗','/');
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章