zoukankan      html  css  js  c++  java
  • web开发中的支付宝支付和微信支付

    https://www.jianshu.com/p/155757d2b9eb

    <!-- wxPay --SDK-->
    <script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
    
    
    
    
    goWXPay(obj){
            //wxpay
            var pays_appId = GetQueryString("appId");
            var pays_nonceStr = GetQueryString("nonceStr");
            var pays_package = GetQueryString("package");
            var pays_signType = GetQueryString("signType");
            var pays_timeStamp = GetQueryString("timeStamp");
            var pays_paySign = GetQueryString("paySign");
    
            if(pays_package && pays_paySign){//wxPay status
                wx.config({
                    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                    appId: pays_appId, // 必填,公众号的唯一标识 wx4943f6480a79a436
                    timestamp: pays_timeStamp, // 必填,生成签名的时间戳
                    nonceStr: pays_nonceStr, // 必填,生成签名的随机串
                    signature: pays_paySign,// 必填,签名,见附录1
                    jsApiList: ["chooseWXPay"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
                });
                function onBridgeReady() {
                    console.log("进入onBridgeReady~")
                    WeixinJSBridge.invoke('getBrandWCPayRequest', {
                        "appId": pays_appId,
                        "timeStamp": pays_timeStamp,
                        "nonceStr": pays_nonceStr,
                        "package": pays_package,
                        "signType": pays_signType,
                        "paySign": pays_paySign //微信签名 
                    }, function (res) {
                        if (res.err_msg == "get_brand_wcpay_request:ok") {
                            obj.success();
                        }else if (res.err_msg == "get_brand_wcpay_request:fail") {
                            obj.fail();
                        }
                    });
                }
                wx.ready(function () {
                    if (typeof WeixinJSBridge == "undefined") {
                        console.log("typeof WeixinJSBridge~running");
                        if (document.addEventListener) {
                            document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
                        }
                        else if (document.attachEvent) {
                            document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
                            document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
                        }
                    }else{
                        console.log("onBridgeReady()");
                        onBridgeReady();
                    }
                });
            }
        },

    h5调起微信原生支付

    pay.goWXPay({//页面数据初始化完毕->调起微信支付
                                    success:function(){
                                        resolve(res);
                                        console.log("用户已经支付成功后返回ok")
                                        console.log(res)
                                        alert("已支付完成,准备刷新当前页");
                                        window.location.href = "./a.html";//更新当前页面数据
                                        // 使用以上方式判断前端返回,微信团队郑重提示:
                                        //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
                                    },
                                    fail:function(){
                                        console.log("用户支付失败返回fail")
                                        console.log(res)    
                                        Toast("支付失败")
                                        window.location.href = "./a.html";//防止页面无响应
                                    }
                                });
  • 相关阅读:
    准确率99.9%的离线IP地址定位库
    手写一个消息队列以及延迟消息队列
    rabbitmq介绍
    污点和亲和力高级调度方式
    ceph
    Vue作业
    label和labelSeletor
    http状态简记
    数据库
    作业
  • 原文地址:https://www.cnblogs.com/ivan5277/p/10960539.html
Copyright © 2011-2022 走看看