小程序支付功能

主宰稳场 提交于 2020-03-28 17:43:58

场景:做小程序支付功能,正常操作是前端这边调用微信的 wx.requestpayment接口即可。

//比如说,点击付款按钮,然后就会弹出支付的窗口,这里就应该调用wx.requestPayment()<view bindtap="confirmPay">确定付款</view>confirmPay(){   let that = this;   let params = {       orderId:'',       orderDetail:'xxx'   };//比如说,这里是后台需要的参数   wx.request({       url:'这里是请求后台的接口',       data:params,       method:'POST',       header:{         'content-type':'application/json'       },       success:function(res){          console.log(res);//这里会返回调用微信支付接口需要的参数          that.pay(res);  //到这里应该会弹出一个支付的弹窗了       },       error:function(error){}   })}//调用微信支付的接口pay(temp){   wx.requestPayment({     timeStamp:temp.timeStamp,     nonceStr:temp.nonceStr,     package:temp.package,     signType:'MD5',     paySign:temp.paySign,     success:function(res){       //若执行到这步,则表示支付成功了     },     fail:function(err){}   })}

//如果让前端做支付的话,其实后端还不是要参与,与其这样还不如上面的操作呐,更简单方便快捷。

//首先 用 wx.login()获取到当前用户的code,因为要拿来换取openid值。onLoad:function(options){   let that = this;   wx.login({      success:function(res){         console.log(res.code);         that.getOpenid(res.code);      }   })},getOpenid(code){   //这个接口是请求微信官方的接口为了获取 openID 值   let that = this;   wx.request({         url:'https://api/weixin.qq.com/sns/jscode2session?appid=小程序APPID&secrest=小程序密钥&js_code=code&grant_type=authorization_code',      data:{},      method:'GET'      success:function(res){        that.getParams(res.data.openid);//这步是把获取到的openID传递给后端      }  })},getParams(openid){   let that = this;   wx.request({      url:'请求后端接口',      method:'xxx',      data:{},      success:function(res){        //这里后台会返回请求微信支付接口所需要的参数        that.confirmPay(res);      }   })},confirmPay:function(temp){   wx.requestPayment({      timeStamp:temp.timeStamp,      nonceStr:temp.nonceStr,      package:temp.package,      signType:temp.signType,      paySign:temp.paySign,      success:function(res){         //执行到这步就表示 支付成功了      },      fail:function(error){      }   })}

 

参考链接:https://www.cnblogs.com/yujihaia/p/7459426.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!