打赏
Fork me on GitHub

微信JSAPI支付

1.特别注意要二次签名,二次签名时appId,和一次签名时大小写问题。

2.二次签名时随机串和时间戳重新生成。

3.带着二次签名时的随机串和时间戳,统一下单时的prepay_id传递到前台。

4.前台通过WeixinJSBridge.invoke()拉起支付

WeixinJSBridge.invoke(
    'getBrandWCPayRequest',{
        "appId":appId,     //公众号名称,由商户传入
        "timeStamp":timeStamp, //时间戳,自1970年以来的秒数
        "nonceStr":nonceStr, //随机串
        "package":packageStr,  //预支付交易会话标识
        "signType":signType,   //微信签名方式
        "paySign":paySign         //微信签名
    },
    function(res){
        if(res.err_msg == "get_brand_wcpay_request:ok" ) {
            //window.location.replace("index.html");
            alert('支付成功');
        }else if(res.err_msg == "get_brand_wcpay_request:cancel"){
            alert('支付取消');
        }else if(res.err_msg == "get_brand_wcpay_request:fail" ){
            alert('支付失败');
        }
        //使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。
    }
);
调起微信支付
posted @ 2020-03-08 17:22  l-coil  阅读(421)  评论(0编辑  收藏  举报