微信公众平台支付 该网站暂时无法访问 网络接口可能被某些软件修改 请重置接入点设置后重新加载该网页
原因很多 我这里是返回地址错误了,原来以为是返回地址改成顶级域名即可,
微信开发的各种坑总结
1 。callback的网址不能带 ? 列入 responsd.php?code=wxpay 否则报错参数
2 。 演示代码 curlopt_https_vertifers 2 需要设置false 否则curl报错 ,前后有2行
3 $baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] . '?' .$_SERVER['QUERY_STRING']);
加 '?',演示代码 没有带 ,因为演示代码 没有 QUERY_STRING 而实际应用带有QUERY_STRING 所有演示代码 是没有报错的
4 各个版本的不向后兼容 3.3接口不支持 3.7 等
/**
*
* 通过跳转获取用户的openid,跳转流程如下:
* 1、设置自己需要调回的url及其其他参数,跳转到微信服务器https://open.weixin.qq.com/connect/oauth2/authorize
* 2、微信服务处理完成之后会跳转回用户redirect_uri地址,此时会带上一些参数,如:code
*
* @return 用户的openid
*/
public function GetOpenid()
{
//通过code获得openid
if (!isset($_GET['code'])){
//触发微信返回code码
//http://www.aaaa.com/mobile/user.php?act=order_detail&order_id=3591&response_type=code
// modified by yanggg 加了 "?"
$baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] . '?' .$_SERVER['QUERY_STRING']);
//$baseUrl = urlencode($_SERVER['HTTP_HOST']);
echo $baseUrl;
//exit();
$url = $this->__CreateOauthUrlForCode($baseUrl);
echo $url;
Header("Location: $url");
exit();
} else {
//获取code码,以获取openid
$code = $_GET['code'];
$openid = $this->getOpenidFromMp($code);
return $openid;
}
}