小程序微信支付

支付流程分析

  1. 用户要购买商品并且付钱给商家(用户点击支付按钮,调用商家服务器进行付款)。
  2. 商家服务器收到用户的支付信息(用户信息和交易数据)后进行备案(存储信息到数据库)。
  3. 商家服务器委托(调用接口)第三方金融机构(微信、支付宝、银联)进行支付。
  4. 金融机构反馈确认收款信息给商家服务器,商家服务器再给用户确认付款的反馈。
  5. 用户收到反馈后,可以直接把钱付给第三方。

支付流程实现

实现支付

async handlePay (e) {// 1、调用接口请求实现付款// console.log(e.target.dataset.id)const { message } = await this.$request({path: 'my/orders/req_unifiedorder',method: 'post',param: {order_number: e.target.dataset.id},header: {Authorization: uni.getStorageSync('mytoken')}})// 2、用户确认进行付款uni.requestPayment({...message.pay,success: () => {uni.showToast({title: '支付成功'})}})
}
  • 支付成功后,删除购物车中已经支付过的商品
// 把支付过的商品从购物车清空
let orderInfo = this.list.filter(item => {return item.order_number === e.target.dataset.id
})
// 此次支付订单中的商品列表
let goods = orderInfo[0].goods
// 获取该商品列表中的所有ID
goods = goods.map(item => {return item.goods_id
})
// 查询购物车当前的商品
let cart = uni.getStorageSync('mycart') || []
// 过滤出剩余的商品(未支付的商品)
let other = cart.filter(item => {return !goods.includes(item.goods_id)
})
// 把未支付的商品重新放回缓存
uni.setStorageSync('mycart', other)
id)
})
// 把未支付的商品重新放回缓存
uni.setStorageSync('mycart', other)

微信小程序学习14--小程序微信支付流程分析及实现相关推荐

  1. 微信支付:支付流程分析、微信扫码支付(HttpClient)、微信支付二维码生成、检测支付状态、订单状态操作准备工作、支付信息回调、MQ处理支付回调状态、定时处理订单状态

    微信支付 微信支付开发的整体思路 生成支付二维码 查询支付状态(微信的服务器) 实现订单状态的修改.删除订单 支付状态回查->微信服务器将支付状态返回给支付微服务 MQ处理支付回调状态 Rabb ...

  2. 微信小程序学习笔记01:微信小程序概述

    文章目录 零.学习目标 一.小程序的历史 二.如何访问小程序 1.线下扫码 2.微信搜索 3.公众号关联 4.好友推荐 5.历史记录 6.桌面访问 7.附近的小程序 三.小程序与HTML5和APP比较 ...

  3. 小程序学习 - 01小程序简介+微信小程序基础

    小程序简介 小程序是一个全新的.轻量级的移动端应用. 起源 在小程序出现之前的移动端开发的解决方案有: Android iOS Windows Phone - 后来退出历史舞台 移动端开发发展了一段时 ...

  4. 微信小程序学习笔记 ( 小程序主体学习 二 逻辑层 app.js 扩展 高级食用方法)

    目录结构 上图是我建立的的微信小程序的目录结构 主体学习 逻辑层(App Service) 小程序开发框架的逻辑层由 JavaScript 编写.    逻辑层将数据进行处理后发送给视图层,同时接受视 ...

  5. 微信小程序学习-黑马商城程序(更新中~)

    目录 小程序基础知识 小程序常用标签 自定义属性,可用于传参 小程序的for循环 小程序中的方法如何携带参数 小程序中常用的布局组件 view 类似于div.p,用于包裹内容 text 文本,类似于s ...

  6. 第三方支付(微信支付)支付流程分析

    日常我们都会经常用到移动支付,很多APP会选择调用第三方支付作为支付方式,或者是用户使用移动支付应用,如微信支付或者支付宝支付. 今天说说微信支付 支付流程看起来挺简单,打开微信,扫一扫/APP调用微 ...

  7. muduo网络库学习总结:基本架构及流程分析

    muduo网络库学习:基本架构及流程分析 基本架构 Basic Reactor Mutiple Reactor + ThreadPool muduo库的基本使用 基本结构介绍 EventLoop类 P ...

  8. 微信小程序学习笔记02:微信小程序注册

    文章目录 零.学习目标 一.小程序注册方法 1.注册 2.登录 二.小程序开发工具 1.下载开发工具 2.安装开发工具 3.启动开发工具 三.创建第一个小程序 1.启动开发者工具 2.新建项目 3.模 ...

  9. 微信小程序学习—配置HBuilder运行微信小程

    第一次接触微信小程序开发.在网上找了个项目想要运行,遇到了一些问题,记录一下运行的问题,以及解决方式,供大家参考. 遇到的报错 于是上网搜索结果 第一步 在微信小程序中打开 设置-安全设置 打开服务端 ...

  10. 小程序学习(1):微信开发者工具安装

最新文章

  1. Codeforces Round 367 Div. 2
  2. 为什么要研究游戏 AI 呢?
  3. 如何保存Tensorflow中的Tensor参数,保存训练中的中间参数,存储卷积层的数据
  4. fdisk 磁盘分区命令
  5. eclipse打开出错 Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
  6. Mysql学习笔记(三)运算符和控制流函数
  7. 如何用notepad写php,notepad新手怎么使用
  8. linux系统环境下压缩与解压缩
  9. tomcat 开启 https 使用apr
  10. mysql 两个日期加减_mysql加减时间-函数-时间加减
  11. excel导出文本格式设置为数值(easypoi)
  12. opmanager监控linux,OpManager管理员指南.doc
  13. 电力线通信有望在物联网应用中大放异彩
  14. 代码质量 权威精选植根于开发实践的最佳读物
  15. shell获取系统当前时间、本月1日、下月1日、本月月底、上月月底、上月同期日期
  16. 数据恢复揭秘:三星硬盘开盘数据恢复全过程
  17. Apple芯片Mac安装ARM版Win10完美教程(结尾附视频)
  18. 【论文阅读】TomoAlign: A novel approach to correcting sample motion and 3D CTF in CryoET
  19. Swift实战之2048小游戏
  20. numpy.triu、numpy.triu_indices、np.triu_indices_from函数使用

热门文章

  1. C语言:用指针求字符串长度
  2. u盘为什么要安全弹出?丢失的数据怎么恢复?
  3. excel两个表格数据对比_表格技巧—Excel表格两列数据合并
  4. 关于出版《ARKit原生开发入门精粹》(2021-03-24更新)
  5. 英文视频字幕自动生成
  6. 三星研究院:发现腾讯的“阿喀琉斯之踵”,互联网营销
  7. 桌面出现2个计算机,在一个电脑屏幕上如何同时显示两个word
  8. NFT抢购合集工具(免费)
  9. 王德明——全球旅行达人,走遍世界阅尽繁华,为何他独爱于此?
  10. app安全测试:OWASP ZAP 2.8 使用指南(四):ZAP扫描移动应用安全