微信支付,支付宝支付的前端js写法


//创建订单
function sumbitOrder() {
    var townId = $("#town option:selected").val()
    var payType = parseInt($("#payType li i.onzf").attr("data-id"))
    if (isNaN(payType)) {
        layer.msg("请选择支付方式")
        return
    }
    if (!townId) {
        layer.msg("请选择要开通的小镇")
        return
    }
    var json = {
        payType: payType,
        townId: townId
    }
    $.ajax({
        type: 'POST',
        url: '/order/createOrder',
        contentType: 'application/x-www-form-urlencoded; charset=utf-8',
        async: false,//同步请求
        data: json,
        success: function (result) {
            if (result.code != HTTP_RESULT.OK) {
                layer.msg(result.msg);
                return;
            }
            console.log(result)
            switch (parseInt(json.payType)) {
                case 2://支付宝
                    window.open('/pay/alipay?orderNumber=' + result.data, "_blank")
                    layer.confirm('请在新的页面完成支付宝支付', {
                        btn: ['已完成支付', '取消'] //按钮
                    }, function (index) {
                        /** 点击已完成支付,去检查订单状态是否支付完成 **/
                        checkOrder(result.data, index)
                    }, function () {
                    });
                    break
                case 1://微信
                    showWXPayDialog(result.data.qrCodeUrl, result.data.orderNumber)
                    break
            }
        }, complete: function () {
            layer.closeAll("loading")
        }
    });

}
 
 

//检查订单状态

function checkOrder(orderNumber, index) {
    $.ajax({
        type: 'GET',
        contentType: 'application/x-www-form-urlencoded; charset=utf-8',
        url: '/order/checkOrderResult?orderNumber=' + orderNumber,
        beforeSend: function () {
            layer.load()
        }, complete: function () {
            layer.closeAll("loading")
        },
        success: function (result) {
            if (parseInt(result) == 5) {//状态为交易成功
                layer.msg("支付成功")
                setTimeout(function () {
                    window.location.reload()
                }, 1000)
            }
            if (index)
                layer.close(index)
            $("#wxPayDialog").hide()
        }
    })
}
//微信支付
/**
 * 展示微信支付的对话框
 * @param qrcode
 * @param orderNumber
 */
function showWXPayDialog(qrcode, orderNumber) {
    new QRCode(document.getElementById('qrcode'), qrcode);
    layer.open({
        type: 1,
        title: '微信支付',
        offset: '120px',
        area: ['460px', '433px'], //宽高
        btn: ['已完成支付', '取消'],
        content: $("#wxPayDialog"),
        end: function () {// 销毁该弹出层
            $("#wxPayDialog").hide()
            $("#qrcode").empty()
        },
        yes: function (index) {
            /** 去检查订单状态是否支付完成 **/
            checkOrder(orderNumber, index)
        }
    });
}

猜你喜欢

转载自blog.csdn.net/qq_42051240/article/details/80998021