WIN-2308041133\Administrator 6 meses atrás
pai
commit
a79d1b6d24
1 arquivos alterados com 30 adições e 4 exclusões
  1. 30 4
      application/api/controller/Wechat.php

+ 30 - 4
application/api/controller/Wechat.php

@@ -114,7 +114,6 @@ class Wechat extends Api
         $uid = intval($request->param('uid'));
         $plan_id = WechatPlan::where('price',$peice)->value('plan_id');
         $plan_id=11;
-        $login_type = $request->param('login_type', 1);
         @file_put_contents("auth.txt", json_encode(input()));
         try {
 
@@ -145,10 +144,13 @@ class Wechat extends Api
             );
             var_dump($array);
             ksort($array);
+            $xml='';
             foreach ($array as $key => $value){
-                var_dump($key.':'.$value);
+                $xml=$xml.$key.'="'.$value.'&';
             }
-            $sign=$this->md5_sign($array,'192006250b4c09247ec02edce69f6a2d');
+            $xml=substr($xml, 0, -1);
+            var_dump($xml);
+            $sign=$this->md5_sign($xml,'192006250b4c09247ec02edce69f6a2d');
             var_dump($sign);die();
             $url=$this->OfficialAccountSigning($app_id,$mch_id,$plan_id,$contract_code,$request_serial,$contract_display_account,$notify_url,$version,$sign,$timestamp);
             return $url;
@@ -209,6 +211,30 @@ class Wechat extends Api
         return $content;
 
     }
+    public function curl_get($url = '', array $name, $timeout = 100)
+    {
+        if (!empty($name)) {
+            $data = '&';
+            foreach ($name as $k => $v) {
+                $data = $data . $k . '=' . $v.'&';
+            }
+            $url = $url . $data;
+        }
+        $url = substr($url,0,-1);
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_HEADER, false); //是否显示头部
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//是否直接输出到屏幕
+        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
+
+        $content = curl_exec($ch);
+        curl_close($ch);
+        $content = json_decode($content,true);
+        // $content = (array)$content;
+        // var_dump($content);
+        return $content;
+    }
     public function md5_sign($data, $key){
         $stringSignTemp=$data."&key=$key"; //注:key为商户平台设置的密钥key
 
@@ -242,7 +268,7 @@ class Wechat extends Api
             'sign' => $sign, //签名
             'timestamp' => $timestamp
         ];
-        $response = $this->curl_post($url, $info);
+        $response = $this->curl_get($url, $info);
         return $response;
     }
     public function test() {