微信/支付宝支付js

1、获取支付通道

2、发起支付请求——从服务器请求支付订单

3、请求支付操作

 

var ERROR_OK = 'S002';
    mui.init()
    /*选择微信还是支付宝支付*/
    var channel = null;
    var channel1, channel2;
    // 1. 获取支付通道
    function plusReady() {
        // 获取支付通道
        plus.payment.getChannels(function (channels) {
            channel1 = channels[0];
            channel2 = channels[1];
        }, function (e) {
            alert("获取支付通道失败:" + e.message);
        });
    }
    document.addEventListener('plusready', plusReady, false);
    var ALIPAYSERVER = ur + 'rest/appUserController/open-vip-ali';//调用统一下单接口
    var WXPAYSERVER = ur + 'rest/appUserController/open-vip-wechat';
    // 2. 发起支付请求
    /**
     * @augments: 'alipay','wxpay'
     */
    function pay(id) {
        // 从服务器请求支付订单
        var PAYSERVER = '';
        if (id == 'alipay') {
            PAYSERVER = ALIPAYSERVER;
            channel = channel1; //
            alipy();
        } else if (id == 'wxpay') {
            PAYSERVER = WXPAYSERVER;
            channel = channel2;
            wxpay();//微信支付
        } else {
            plus.nativeUI.alert("", null, "");
            return;
        }
        // 支付宝
        function alipy() {
            $.ajax({
                url: PAYSERVER,//下单接口
                headers: {
                    "X-Token": localStorage.token
                },
                type: 'POST',
                dataType: 'json',
                data: {
                    "month": "1", // 开通月数
                }
            })
                .done(function (res) {
//接口成功执行pays()
                    if (res.meta.code == ERROR_OK) {
                        pays(res.data);
                    }
                })
        }


        function wxpay() {
            $.ajax({
                url: PAYSERVER,
                headers: {
                    "X-Token": localStorage.token
                },
                type: 'POST',
                dataType: 'json',
                data: {
                    "month": "1"
                }
            })
                .done(function (data) {
//               调用成功
                    var data = data.data;
                    pays(data);
                })
        }
    }

    function pays(data) {
// 支付通道 /支付订单信息/支付通道成功
        plus.payment.request(channel, data, function (result) {
            plus.nativeUI.alert("支付成功!", function () {
                mui.fire(plus.webview.getWebviewById('mine.html'), 'refresh');
                back();
            });
        }, function (error) {
            plus.nativeUI.alert("订单未支付,请重试");
        });
    }
    /*点击确认支付判断是微信还是支付宝*/
    $('.sure-pay').on('tap', function () {
        if ($('.way1>.quan').hasClass('addred') == false && $('.way2>.quan').hasClass('addred') == false) {
            mui.toast('请选择支付方式');
        } else if ($('.way1>.quan').hasClass('addred') == true) {
            pay('alipay')
        }
        if ($('.way2>.quan').hasClass('addred') == true) {
            pay('wxpay');
        }
    })


支付错误码

http://ask.dcloud.net.cn/article/286

(本博主只是一个初学的菜鸟--Anguler,希望能够帮助到需要的人,如果有不正确的地方希望多多包涵和欢迎随时提出来,一起进步)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一份简单的JS代码,用于生成一个支付按钮并跳转到微信支付、支付宝支付或者 PayPal 支付页面: ```javascript // 定义一个支付按钮的函数 function createPaymentButton(paymentMethod) { // 创建一个按钮元素 const button = document.createElement("button"); // 根据传入的支付方式设置按钮的文本和点击事件 switch (paymentMethod) { case "wechat": button.innerText = "微信支付"; button.onclick = function() { window.location.href = "https://wxpay.example.com"; }; break; case "alipay": button.innerText = "支付宝支付"; button.onclick = function() { window.location.href = "https://alipay.example.com"; }; break; case "paypal": button.innerText = "PayPal 支付"; button.onclick = function() { window.location.href = "https://paypal.example.com"; }; break; default: // 如果传入的支付方式无效,则按钮文本显示为“未知支付方式” button.innerText = "未知支付方式"; } // 返回创建好的支付按钮元素 return button; } // 在页面上创建一个微信支付按钮 const wechatPayButton = createPaymentButton("wechat"); document.body.appendChild(wechatPayButton); // 在页面上创建一个支付宝支付按钮 const alipayButton = createPaymentButton("alipay"); document.body.appendChild(alipayButton); // 在页面上创建一个 PayPal 支付按钮 const paypalButton = createPaymentButton("paypal"); document.body.appendChild(paypalButton); ``` 这段代码定义了一个名为 `createPaymentButton` 的函数,它接受一个参数 `paymentMethod`,用于指定支付方式。根据传入的支付方式,函数会创建一个按钮元素并设置相应的文本和点击事件。最后,函数返回创建好的支付按钮元素。 在主程序中,我们调用 `createPaymentButton` 函数三次,分别传入 `"wechat"`、`"alipay"` 和 `"paypal"` 作为参数,然后将创建好的按钮元素添加到页面中。当用户点击支付按钮时,按钮的点击事件会跳转到对应的支付页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值