js: 网页支付 微信 支付宝

微信和支付宝 ---- 前端
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .qrcodeBox {
            position: fixed;
            left: 50%;
            top: 50%;
            margin-left: -200px;
            margin-top: -200px;
        }

        .qrcodeBox .text {
            width: 256px;
            text-align: center;
            padding-bottom: 10px;
        }
    </style>
</head>

<body>
    <div class="qrcodeBox" style="width: 400px;height: 400px;">
        <div class="text" id="text">请使用支付宝或微信扫码完成支付</div>
        <div id="qrcode"></div>
    </div>
    <script src="https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
    <script src="js/jquery-1.11.3.min.js"></script>
    <script src="js/md5.min.js"></script>
    <script>
        new QRCode(document.getElementById('qrcode'),
            {
                text: 'weixin://wxpay/bizpayurl?pr=FA39zgyzz',
                width: 256,
                height: 256,
                colorDark: '#000000',
                colorLight: '#ffffff',
                correctLevel: QRCode.CorrectLevel.H
            }
        );


        var orderNo = '';
        let time = 30 * 5;
        let timer = null;

        function order() {
            orderNo = '20210420162237649639';
            timer = setInterval(function () {
                time--;
                if (time <= 0) {
                    document.getElementById('text').innerHTML = '支付超时';
                    clearInterval(timer)
                }
                getOrderState(function (data) {
                    console.log(data);
                    if (data.is_pay === 1) {
                        document.getElementById('text').innerHTML = '支付完成';
                        clearInterval(timer)
                    }
                })
            }, 2000)
        }

        // 下单
        // order();

        function getHash(para) {
            var APIKEY = 'f726446ebfc6d9a2da64a9b1e006149d';
            var keys = Object.keys(para);
            var newArray = keys.sort();
            var str = '';
            for (var i = 0; i < newArray.length; i++) {
                str = str + newArray[i] + para[newArray[i]];
            }
            var nStr = str + APIKEY;
            return md5(nStr);
        }

        function getOrderState(callback) {
            // var userToken = getCookie('userToken');
            var userToken = '58b512ad3a4b0d2f56e10898ebcbf403';
            // console.log(userToken);
            // if (userToken == '' || userToken == undefined) {
            //     webTip('用户身份已过期,请重新登录');
            //     return false;
            // }
            var TIMER = parseInt(new Date().getTime() / 1000);
            var APIID = 'dc9d174bf4ce93e36ee808891885e2b5';
            var TERMINAL = 4;
            var URL = 'http://star.zongye.top/';

            var parameter = {
                // time: TIMER,
                // apiId: APIID,
                // terminal: TERMINAL,
                time: TIMER,
                apiId: APIID,
                terminal: TERMINAL,
                token: userToken,
                order_no: orderNo
            };
            parameter.hash = getHash(parameter);
            // Content-Type: application/json;
            $.post(URL + 'Api/Pay/orderState', parameter, function (res) {
                console.log(res);
                if (res.Code == '000000') {
                    callback && callback(res.Data);
                } else {
                    webTip(res.Msg)
                }
            });
        }

    </script>
</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值