zoukankan      html  css  js  c++  java
  • 小程序支付前端代码

        var app = getApp();
        Page({
            data: {},
            onLoad: function (options) {
                // 页面初始化 options为页面跳转所带来的参数
                var that = this
                //登陆获取code
                wx.login({
                    success: function (res) {
                        console.log(res.code)
                        //获取openid
                        that.getOpenId(res.code)
                    }
                });
            },
            getOpenId: function (code) {
                var that = this;
                wx.request({
                    url: "https://api.weixin.qq.com/sns/jscode2session?appid=小程序appid&secret=小程序应用密钥&js_code=" + code + "&grant_type=authorization_code",
                    data: {},
                    method: 'GET',
                    success: function (res) {
                        that.generateOrder(res.data.openid)
                    },
                    fail: function () {
                        // fail
                    },
                    complete: function () {
                        // complete
                    }
                })
            },
            /**生成商户订单 */
            generateOrder: function (openid) {
                var that = this
                //统一支付
                wx.request({
                    url: '后台路径',
                    method: 'GET',
                    data: {
                        gfee: '商品价钱',
                        gname: '商品名称',
                        openId:openid
                        (商品价钱和商品名称根据自身需要是否传值,openid为必传)
                    },
                    success: function (res) {
                        var pay = res.data
                        //发起支付
                        var timeStamp = pay[0].timeStamp;
                        var packages = pay[0].package;
                        var paySign = pay[0].paySign;
                        var nonceStr = pay[0].nonceStr;
                        var param = { "timeStamp": timeStamp, "package": packages, "paySign": paySign, "signType": "MD5", "nonceStr": nonceStr };
                        that.pay(param)
                    },
                })
            },
            /* 支付   */
            pay: function (param) {
                console.log("支付")
                console.log(param)
                wx.requestPayment({
                    timeStamp: param.timeStamp,
                    nonceStr: param.nonceStr,
                    package: param.package,
                    signType: param.signType,
                    paySign: param.paySign,
                    success: function (res) {
                        // success
                        wx.navigateBack({
                            delta: 1, // 回退前 delta(默认为1) 页面
                            success: function (res) {
                                wx.showToast({
                                    title: '支付成功',
                                    icon: 'success',
                                    duration: 2000
                                })
                            },
                            fail: function () {
                                // fail
                            },
                            complete: function () {
                                // complete
                            }
                        })
                    },
                    fail: function (res) {
                        // fail
                    },
                    complete: function () {
                        // complete
                    }
                })
            }
        })
    
  • 相关阅读:
    JS中json对象克隆
    jhipster中图片路径打包问题(webpack)
    arcgis for javascript api 4.x 中,使用本地非 4326坐标系绘制功能实现
    spring核心之IOC
    spring基于XML的声明式事务控制
    hibernate之事务处理
    hibernate之一级缓存
    hibernate之一对多,多对一
    hibernate之HQL,Criteria与SQL
    spring的基于注解的IOC配置
  • 原文地址:https://www.cnblogs.com/anxiaoyu/p/6937902.html
Copyright © 2011-2022 走看看