ecshop微信支付v3插件怎么用

 我来答
ecshop开发中心
2015-05-04 · TA获得超过577个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:573万
展开全部
可以找售后服务人员帮你一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
城南明月羿当年
推荐于2016-05-29 · 知道合伙人生活技巧行家
城南明月羿当年
知道合伙人生活技巧行家
采纳数:24666 获赞数:123227
计算机爱好者

向TA提问 私信TA
展开全部
更新内容:自动获取openid ,只在微信浏览器下 获取openid。到这里大家还不能搞定那实在是没天赋了。
/**
* 获取当前页面完整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);
——————————–
没有研究过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地址
/**
* 获取当前页面完整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;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式