首页 > 编程 > JavaScript > 正文

微信小程序 支付功能(前端)的实现

2019-11-19 16:30:23
字体:
来源:转载
供稿:网友

微信小程序 支付功能(前端)的实现

只提供微信小程序端代码:

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      }    })  }})

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表