国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

【PHP】微信支付JsApi 40163錯誤

2020-03-22 18:29:40
字體:
來源:轉載
供稿:網友

本文將和大家分享一下微信支付JsApi 40163錯誤以及解決方案代碼。
錯誤:
未定義數組索引:openid 。
經過檢查發現是 :微信支付授權獲取 openId {“errcode”:40163,“errmsg”:“code been used”,}
原因為:微信支付code 只能使用一次,當第二次重復使用時就會出現此錯誤。
解決相關參考:http://www.e-learn.cn/content/php/1102683
參考中的方法本人嘗試無果,故自己根據原因重寫:
經排查發現問題出在:
WxPay.JsApiPay.php中的GetOpenid方法,源碼為:

/** *  * 通過跳轉獲取用戶的openid,跳轉流程如下: * 1、設置自己需要調回的url及其其他參數,跳轉到微信服務器http://open.weixin.qq.com/connect/oauth2/authorize * 2、微信服務處理完成之后會跳轉回用戶redirect_uri地址,此時會帶上一些參數,如:code *  * @return 用戶的openid */html' target='_blank'>public function GetOpenid(){   //通過code獲得openid   if (!isset($_GET['code']) ){      //觸發微信返回code碼      $baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);      $url = $this->__CreateOauthUrlForCode($baseUrl);      Header("Location: $url");      exit();   } else {      //獲取code碼,以獲取openid       $code = $_GET['code'];       $openid = $this->getOpenidFromMp($code);           return $openid;   }}

改后代碼為:

/** *  * 通過跳轉獲取用戶的openid,跳轉流程如下: * 1、設置自己需要調回的url及其其他參數,跳轉到微信服務器http://open.weixin.qq.com/connect/oauth2/authorize * 2、微信服務處理完成之后會跳轉回用戶redirect_uri地址,此時會帶上一些參數,如:code *  * @return 用戶的openid */public function GetOpenid(){   //通過code獲得openid   if (!isset($_GET['code']) ){      //觸發微信返回code碼      $baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);      $url = $this->__CreateOauthUrlForCode($baseUrl);      Header("Location: $url");      exit();   } else {      //獲取code碼,以獲取openid       $code = $_GET['code'];           if(session("?$code")){               $openid = $this->getOpenidFromMp($code);           }else{               $openid= session($code);           }           session($code, $openid);// ######  2019.03.01  加  為解決code been used      return $openid;   }}

邏輯為將獲取到的openid以code為名存入session;當再次請求時,查詢該次請求中以code為名的session是否存在,以此防止二次使用code。

相關教程:PHP視頻教程

以上就是【PHP】微信支付JsApi 40163錯誤的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 齐齐哈尔市| 大洼县| 华宁县| 辉南县| 年辖:市辖区| 台安县| 隆尧县| 改则县| 泌阳县| 汝南县| 罗源县| 始兴县| 社旗县| 昌乐县| 社会| 正宁县| 雅江县| 巴彦县| 阿拉善右旗| 漳州市| 柳河县| 永泰县| 北流市| 宜川县| 黑河市| 新郑市| 远安县| 盈江县| 崇信县| 龙江县| 娄烦县| 融水| 西乌| 铜川市| 东阿县| 元氏县| 元氏县| 武清区| 广河县| 木里| 苍梧县|