问题描述:已经设置了jsapi支付授权目录,微信jsapi支付失败 当前页面的URL未注册,增加 history.pushState(null,null,"/weixin/"); 解决问题
如图:借的图,实际设置的是 http://www.xxxx.com/weixin/

支付提示:

未改之前:
<script src='<?=SITE_URL?>/js/jquery.min.js'></script>
<script type="text/javascript">
//调用微信JS api 支付
function jsApiCall() {
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<?=$jsApiParameters; ?>,
function (res) {
WeixinJSBridge.log(res.err_msg);
//alert(res.err_code + res.err_desc + res.err_msg);
}
);
}
function callpay() {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
} else {
jsApiCall();
}
}
</script>
修改之后:
<title>微信获取</title>
<script src='<?=SITE_URL?>/js/jquery.min.js'></script>
<script type="text/javascript">
history.pushState(null,null,"/weixin/");//解决设置了支付目录还提示url未注册
//调用微信JS api 支付
function jsApiCall() {
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<?=$jsApiParameters; ?>,
function (res) {
WeixinJSBridge.log(res.err_msg);
//alert(res.err_code + res.err_desc + res.err_msg);
}
);
}
function callpay() {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
} else {
jsApiCall();
}
}
</script>
本文介绍了一种解决微信JSAPI支付时遇到的URL未注册问题的方法,通过在支付页面中加入history.pushState方法,成功地将当前页面URL更改为已设置的支付授权目录,从而避免了支付失败的情况。
4241

被折叠的 条评论
为什么被折叠?



