前端调起微信支付和支付宝支付

let params = JSON.parse(sessionStorage.getItem("params"));

    //发起支付-微信
    function onBridgeReady(params) {
        WeixinJSBridge.invoke(
            'getBrandWCPayRequest', {
                "appId": params.appId,     //公众号名称,由商户传入
                "timeStamp": params.timeStamp,         //时间戳,自1970年以来的秒数
                "nonceStr": params.nonceStr, //随机串
                "package": params.package,
                "signType": params.signType,         //微信签名方式:
                "paySign": params.paySign //微信签名
            },
            function (res) {
                if (res.err_msg == "get_brand_wcpay_request:ok") {
                    //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
                    location.replace("../paySuccess/paySuccess.html?token=" + params.token);
                }else if(res.err_msg == "get_brand_wcpay_request:cancel"){ //支付取消
                    closeBill();
                }else{
                    location.replace("../../index.html?token=" + params.token);
                }
            });
    }

    //发起支付-支付宝
    function onAlipayReady(params) {
        AlipayJSBridge.call("tradePay", {
            tradeNO: params.trad_no
        }, function (result) {
            if(result.resultCode == "9000"){ //支付成功
                location.replace("../paySuccess/paySuccess.html?token=" + params.token);
            }else if(result.resultCode == "6001"){ //支付取消
                closeBill();
            }else{
                location.replace("../../index.html?token=" + params.token);
            }
        });
    }
//获取基础数据

    if (params.channel == "WX") { //微信支付

        if (typeof WeixinJSBridge == "undefined") {

            if (document.addEventListener) {

                document.addEventListener('WeixinJSBridgeReady', function () {

                    onBridgeReady(params);

                }, false);

            } else if (document.attachEvent) {

                document.attachEvent('WeixinJSBridgeReady', function () {

                    onBridgeReady(params);

                });

                document.attachEvent('onWeixinJSBridgeReady', function () {

                    onBridgeReady(params);

                });

            }

        } else {

            onBridgeReady(params);

        }

    }

    if (params.channel == "ZFB") {

        // 如果jsbridge已经注入则直接调用

        if (window.AlipayJSBridge) {

            onAlipayReady(params);

        } else {

            // 如果没有注入则监听注入的事件

            document.addEventListener('AlipayJSBridgeReady', function () {

                onAlipayReady(params);

            }, false);

        }

    }
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值