大家好,又快到休息的时候了。好久不写小程序的代码,有些生疏了,今天和大家分享的小程序的重头戏,微信支付,但是我好想有点本末倒置了,希望大家多多见谅。
首先我们分析一下微信支付的流程:①购买商品、②生成订单、③唤醒微信支付 、④支付业务的处理,大概所有的支付都是这些流程。
我给大家剖析一下最近写的一个微信小程。
首先 我把商品的信息提交给后台,后台根据我提交的信息,生成一个订单以及订单编号。
其次 后台返给我们订单信息包括商品的名称、数量、单价、总价等,这些信息是我们需要数据回显到页面的,用户看的到的东西。
再次 我把订单编号提交给后台,后台会返给我支付需要传的参数,也就是以下数据
paybtn:function(e){ var orderNum = this.data.orderNo;//后台需要的订单编号 var date = {orderNo:orderNum} http.httpPost('支付接口', date, function (res) { wx.requestPayment({ timeStamp: res.data.timeStamp ,//时间戳 nonceStr: res.data.nonceStr,//随机字符串 package: res.data.package,//数据包 signType: res.data.signType,//签名算法 paySign: res.data.sign,//签名 appid: res.data.appid,//小程序的appId 'success':function(res){ console.log(res); wx.showToast({ title: '支付成功'}) wx.navigateTo({ url: '首页' }) },'fail':function(res){ console.log(res); wx.showToast({title: '支付失败',icon:'none'})
wx.navigateTo({ url: '订单列表页面' })
} }) }) },注意:以上传参区分大小写,否则报错。
支付成功就跳转支付成功提示页,但是本人不提倡,因为小程序代码有限,不能超过2M,因此能弹窗就弹窗吧,不要增加代码量
支付失败:有可能是用户取消支付,也有可能是别的原因。我也也弹窗给一个错误的信息,然后又跳转到订单列表接口。