/*需要得到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('實名認證失敗','/'); }
實名認證接口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.