2015-4-10 日更新 init.php文件 更新如下:
更新内容:自动获取openid ,只在微信浏览器下 获取openid。到这里大家还不能搞定那实在是没天赋了。
[code lang=”php”]
/**
* 获取当前页面完整URL地址
*/
function get_url() {
$sys_protocal = isset($_SERVER[‘SERVER_PORT’]) && $_SERVER[‘SERVER_PORT’] == ‘443’ ? ‘https://’ : ‘http://’;
$php_self = $_SERVER[‘PHP_SELF’] ? $_SERVER[‘PHP_SELF’] : $_SERVER[‘SCRIPT_NAME’];
$path_info = isset($_SERVER[‘PATH_INFO’]) ? $_SERVER[‘PATH_INFO’] : ”;
$relate_url = isset($_SERVER[‘REQUEST_URI’]) ? $_SERVER[‘REQUEST_URI’] : $php_self.(isset($_SERVER[‘QUERY_STRING’]) ? ‘?’.$_SERVER[‘QUERY_STRING’] : $path_info);
return $sys_protocal.(isset($_SERVER[‘HTTP_HOST’]) ? $_SERVER[‘HTTP_HOST’] : ”).$relate_url;
}
//include_once(ROOT_PATH.’includes/modules/payment/wxpay.php’);
$openid=@$_COOKIE[‘sopenid’];
if(!$openid && strpos($_SERVER[‘HTTP_USER_AGENT’], ‘MicroMessenger’) !== false){
//使用jsapi接口
//$jsApi = new JsApi_pub();
if (!isset($_GET[‘code’]))
{
//=========步骤1:网页授权获取用户openid============
//通过code获得openid
//触发微信返回code码
$backurl = get_url();
//$url = $jsApi->createOauthUrlForCode($backurl);
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=".urlencode($backurl)."&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
//echo $url;
Header("Location: $url");
}else
{
//获取code码,以获取openid
$code = $_GET[‘code’];
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SCRETID&code=".$code."&grant_type=authorization_code";
$re = file_get_contents($url);
$rearr = json_decode($re,true);
$openid = $rearr[‘openid’];
//var_dump($code);
//$jsApi->setCode($code);
//$openid = $jsApi->getOpenid();
setcookie("sopenid",$openid,time()+864000,’/’);
}
}
//var_dump($openid);
[/code]
——————————–
没有研究过ecshop插件,也不知道ecshop插件的制作流程。我就用现有插件修改了一番,让ecshop手机端支持微信支付。
0.支持ecshop版本 ECSHOP v2.7.3 其他版本没测过。
1.安装:覆盖到网站根目录。 注意备份原来的网站
2.配置:后台开启微信支付功能,填入相应的参数 appi , mchid , key, appsecret,支付通知url,支付成功跳转url
3.说明:
2个back 文件为备份文件不用理会,备份之前需要修改配置文件才可以成功支付,现在只要在后台安装配置参数即可开通微信支付V3。
其中 mobile\includes 文件夹下的init.php文件是为了获取到微信用户openid,如果你已经获取到openid就不用覆盖整个文件。然后修改includes\modules\payment\wxpay.php大
概第168行 @$openid=$_COOKIE[‘sopenid’]; 改成你得到的openid.
4.关于测试:
目前微世界商城可以正常下单支付。1.需要在微世界服务号内打开商城链接。2.需要在公众号后台添加支付人员测试白名单。满足以上两个条件才可以发起支付,支付成功后
wxpay\demo\notify_url.php 会接受到通知,并改变订单状态。。
开发者: http://shanmao.me
————————-
附:获取当前页面完整URL地址
[code language=”php”]
/**
* 获取当前页面完整URL地址
*/
function get_url() {
$sys_protocal = isset($_SERVER[‘SERVER_PORT’]) && $_SERVER[‘SERVER_PORT’] == ‘443’ ? ‘https://’ : ‘http://’;
$php_self = $_SERVER[‘PHP_SELF’] ? $_SERVER[‘PHP_SELF’] : $_SERVER[‘SCRIPT_NAME’];
$path_info = isset($_SERVER[‘PATH_INFO’]) ? $_SERVER[‘PATH_INFO’] : ”;
$relate_url = isset($_SERVER[‘REQUEST_URI’]) ? $_SERVER[‘REQUEST_URI’] : $php_self.(isset($_SERVER[‘QUERY_STRING’]) ? ‘?’.$_SERVER[‘QUERY_STRING’] : $path_info);
return $sys_protocal.(isset($_SERVER[‘HTTP_HOST’]) ? $_SERVER[‘HTTP_HOST’] : ”).$relate_url;
}
[/code]
下载地址:ecshop微信支付插件V3下载
以上下载是手机ecshop开发版的插件,稍微懂一点点代码的可以搞定支付。
不懂代码的可以找我配置微信PC版扫描支付和手机版微信支付。一步到位 500元。淘宝担保交易地址:
http://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-8044895296.4.fDdSLN&id=45062968893
博主您好,感谢您分享这么难找的插件,不过现在很多人手机版这块都是用了ectouch,不知道这个插件如何安装,我自己试了试,有错误,不知博主可否指点一下?谢谢!
这个插件安装只要覆盖到根目录就可以了啊~