Hi,为确保您的账号安全,请大家修改登陆密码为包含大小写字母、标点、数字的复合密码,不要使用过于简单的登陆密码。
您当前的位置:首页 :: PHP

微信H5网页支付入坑的请进

时间:2018-03-06 16:07:00  来源:  作者:jorsh

这里有什么坑呢,就是回调的问题, 如果用jquey或其他第三方JS库的时候 一般回直接使用第三方库的写法

比如

$(function(){
	....
	.... 
	//这里就是直接写回调了
});

但是这样的写法就会出现,有的时候可以唤起支付,有的时候确不行,原因也就是所有JS库含微信的JS也要初始化,问题就是微信JS初始化很慢的说

那么我就直接上全部的代码共参考 laravel web页使用了 阿里的框架

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta name="csrf-token" content="{{ csrf_token() }}"/>
    <link href="/packages/sui/sm.min.css?t=20180125" rel="stylesheet"/>
    <link rel="stylesheet" href="/packages/sui/sm-extend.min.css?t=20180125">

    <title>{{$title}}</title>
</head>
<body class="container">
<div id="app_div"></div>
<div class="page-group">
    <div class="page">
        <div class="content">
        </div>
    </div>
</div>


<script type="text/javascript" src="/packages/sui/zepto.min.js?t=20180125"></script>
<script>$.config = {router: false}</script>
<script type="text/javascript" src="/packages/sui/sm.min.js?t=20180125"></script>
<script type='text/javascript' src="/packages/sui/sm-extend.min.js?t=20180125" charset='utf-8'></script>
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script language="JavaScript">
    var info = {!! $res !!};

    function jsApiCall() {
        var payinfo = info.data.wechat_order_info;
        if (typeof WeixinJSBridge != 'undefined') {
            WeixinJSBridge.invoke('getBrandWCPayRequest', {
                        appId: payinfo.appId,
                        timeStamp: payinfo.timeStamp,
                        nonceStr: payinfo.nonceStr,
                        package: payinfo.package,
                        signType: payinfo.signType,
                        paySign: payinfo.paySign,
                    },
                    function (res) {
                        if (res.err_msg == "get_brand_wcpay_request:ok") {
                            $.alert('支付成功', function () {
                                location.href = info.redirect;
                            });
                        } else {
                            $.alert('支付遇到问题,请重新支付', function () {
                                location.href = info.redirect;
                            });
                        }
                    }
            );
        } else {
            $.alert('请在微信客户端打开支付', function () {
                location.href = info.redirect;
            });
            return false;
        }
    }
    $(function () {
        if (info.status == 1) {
            $.alert(info.msg, function () {
                location.href = info.redirect;
            });
            return true;
        }
        document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
            jsApiCall();
        });

    });

</script>
</body>
</html>

 

 

 

举报
收藏0次 / 评论0
评论(0)
还可以输入 2000 个字符
还可以输入 2000 个字符
取消回复
举报×

还可以输入 264 字符

收藏(0)×