微信支付一直出redirect_uri域名(协议) 与后台配置不一致 10039 错误的坑

  一般出这个错误,解决办法是确保微信公众平台里的网页授权域名填写一致即可。

  但是今天碰到另一个坑,就是官方的支付demo里的调用接口网址写的是http

  就是WxPay.JsApiPay.php里的 GetOpenid函数里
    public function GetOpenid()
    {
        //通过code获得openid
        if (!isset($_GET['code'])){
            //触发微信返回code码
            $baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['QUERY_STRING']);
            $url = $this->_CreateOauthUrlForCode($baseUrl);
             Header("Location: $url");
            exit();
        } else {
            //获取code码,以获取openid
            $code = $_GET['code'];
            $openid = $this->getOpenidFromMp($code);
            return $openid;
        }
    }

如果您的网址域名配置了ssl证书,就是https访问,而且你在微信公众号里添加授权域名的时候也选择了强制https,那么坑就来了
就会提示redirect_uri域名(协议) 与后台配置不一致 10039,这时只要把上面函数里的http改成https即可。

你可能感兴趣的:(技术文章,微信)