支付功能逻辑
1. 获取用户地址,通过 uni.chooseAddress
2. 获取支付需要的token
2.1 没有token的情况下,需要去到授权页面进行授权
3. 创建订单,获取订单的编号
4. 获取支付需要的参数
5. 调用支付接口
6. 查询支付状态
7. 支付成功后,删除本地已支付的购物小车中商品的数据
8. 跳转到订单页面
准备工作:
1. 检查AppID
2. 检查基本路径 base_url
3. 微信账号添加到 管理后台
微信支付流程
分析:说明小程序支付流程
微信支付,在小程序端要做三件事
- 使用**
wx.login
**获取临时登录凭证code,发送到后端获取openId=>微信登录 - 将**
openId
**以及相应需要的商品信息发送到后端,换取服务端进行支付的签名等信息=>创建订单 - 接收返回的信息(必须要包含发起微信支付**
wx.requestPayment的参数
**),发起微信支付
前端:主要处理第三步,获取支付信息,调起支付窗口
扩展阅读:支付业务流程
支付页面 pages/pay/pay.vue
点击支付按钮 => 业务逻辑
<script>
import {
requestPayment } from "@/utils/asyncWx.js";
export default {
computed: {
totalPrice: function () {
return this.carts.reduce((total, item) => {
return total + item.num * item.goods_price;
}, 0);
},
totalNum: function () {
return this.carts.reduce((total, item) => {
return total + item.num;
}, 0);
},
},
data() {
return {
carts: (uni.getStorageSync("carts") || [])