一般情况下,前端接触到的支付流程是这样的:商品页选择商品 ——> 提交商品订单(跳转到确认订单页) ——> 确认/选择收货地址 ——> 确认提交订单 ——> 支付 ——> 支付成功/失败
2、wx.requestPayment(Object object)
调用 wx.requestPayment(Object object) 需要携带的参数如下,支付成功后在success成功的回调内做对应操作
wx.requestPayment({
timeStamp: 1414561699, // 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间
nonceStr: 'xxxxxx', // 随机字符串,长度为32个字符以下
package: 'xxxxxxxxxxxx', // 统一下单接口返回的 prepay\_id 参数值,提交格式如:prepay\_id=\*\*\*
signType: 'MD5', // 签名算法,应与后台下单时的值一致
paySign: 'xxxxxxxxxx', // 签名,具体见微信支付文档
success (res) { // 成功的回调
wx.showToast({title: '付款成功'})
},
fail (res) { // 失败的回调
wx.showToast({title: '支付失败',icon: 'none'})
}
})
})
3、支付
支付成功后在success的回调内做对应操作,可以跳转到支付成功页面,让用户在此页面点击查看订单或者在此页面点击浏览更多商品。
如果支付失败,就跳转到待付款页面,用户可以在15分钟内继续完成支付
注意:
1、在操作商品数量计算价格这里,请求计算价格的接口,此处可如果有接口,一定要请求接口计算,因为前端计算价格不安全。
2、在计算价格这块,优惠券选择了也要重新计算价格。通常在点击购买的这一步就直接请求优惠券接口,返回当前最优的优惠券搭配以及计算价格并渲染到页面,用户自主更改优惠券搭配后需要重新计算价格。
4、完整的微信支付流程(前端、后端、微信后台)
Vue
-
什么是MVVM?
-
mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?
-
组件之间的传值?
-
Vue 双向绑定原理
-
描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
-
虚拟 DOM 实现原理
-
Vue 中 key 值的作用?
-
Vue 的生命周期
-
Vue 组件间通信有哪些方式?
-
vue 中怎么重置 data?
-
组件中写 name 选项有什么作用?
-
Vue 的 nextTick 的原理是什么?
-
Vuex 有哪几种属性?