微信小程序学习14--小程序微信支付流程分析及实现
小程序微信支付
支付流程分析
- 用户要购买商品并且付钱给商家(用户点击支付按钮,调用商家服务器进行付款)。
- 商家服务器收到用户的支付信息(用户信息和交易数据)后进行备案(存储信息到数据库)。
- 商家服务器委托(调用接口)第三方金融机构(微信、支付宝、银联)进行支付。
- 金融机构反馈确认收款信息给商家服务器,商家服务器再给用户确认付款的反馈。
- 用户收到反馈后,可以直接把钱付给第三方。
支付流程实现
实现支付
:
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--小程序微信支付流程分析及实现相关推荐
- 微信支付:支付流程分析、微信扫码支付(HttpClient)、微信支付二维码生成、检测支付状态、订单状态操作准备工作、支付信息回调、MQ处理支付回调状态、定时处理订单状态
微信支付 微信支付开发的整体思路 生成支付二维码 查询支付状态(微信的服务器) 实现订单状态的修改.删除订单 支付状态回查->微信服务器将支付状态返回给支付微服务 MQ处理支付回调状态 Rabb ...
- 微信小程序学习笔记01:微信小程序概述
文章目录 零.学习目标 一.小程序的历史 二.如何访问小程序 1.线下扫码 2.微信搜索 3.公众号关联 4.好友推荐 5.历史记录 6.桌面访问 7.附近的小程序 三.小程序与HTML5和APP比较 ...
- 小程序学习 - 01小程序简介+微信小程序基础
小程序简介 小程序是一个全新的.轻量级的移动端应用. 起源 在小程序出现之前的移动端开发的解决方案有: Android iOS Windows Phone - 后来退出历史舞台 移动端开发发展了一段时 ...
- 微信小程序学习笔记 ( 小程序主体学习 二 逻辑层 app.js 扩展 高级食用方法)
目录结构 上图是我建立的的微信小程序的目录结构 主体学习 逻辑层(App Service) 小程序开发框架的逻辑层由 JavaScript 编写. 逻辑层将数据进行处理后发送给视图层,同时接受视 ...
- 微信小程序学习-黑马商城程序(更新中~)
目录 小程序基础知识 小程序常用标签 自定义属性,可用于传参 小程序的for循环 小程序中的方法如何携带参数 小程序中常用的布局组件 view 类似于div.p,用于包裹内容 text 文本,类似于s ...
- 第三方支付(微信支付)支付流程分析
日常我们都会经常用到移动支付,很多APP会选择调用第三方支付作为支付方式,或者是用户使用移动支付应用,如微信支付或者支付宝支付. 今天说说微信支付 支付流程看起来挺简单,打开微信,扫一扫/APP调用微 ...
- muduo网络库学习总结:基本架构及流程分析
muduo网络库学习:基本架构及流程分析 基本架构 Basic Reactor Mutiple Reactor + ThreadPool muduo库的基本使用 基本结构介绍 EventLoop类 P ...
- 微信小程序学习笔记02:微信小程序注册
文章目录 零.学习目标 一.小程序注册方法 1.注册 2.登录 二.小程序开发工具 1.下载开发工具 2.安装开发工具 3.启动开发工具 三.创建第一个小程序 1.启动开发者工具 2.新建项目 3.模 ...
- 微信小程序学习—配置HBuilder运行微信小程
第一次接触微信小程序开发.在网上找了个项目想要运行,遇到了一些问题,记录一下运行的问题,以及解决方式,供大家参考. 遇到的报错 于是上网搜索结果 第一步 在微信小程序中打开 设置-安全设置 打开服务端 ...
- 小程序学习(1):微信开发者工具安装
最新文章
- Codeforces Round 367 Div. 2
- 为什么要研究游戏 AI 呢?
- 如何保存Tensorflow中的Tensor参数,保存训练中的中间参数,存储卷积层的数据
- fdisk 磁盘分区命令
- eclipse打开出错 Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
- Mysql学习笔记(三)运算符和控制流函数
- 如何用notepad写php,notepad新手怎么使用
- linux系统环境下压缩与解压缩
- tomcat 开启 https 使用apr
- mysql 两个日期加减_mysql加减时间-函数-时间加减
- excel导出文本格式设置为数值(easypoi)
- opmanager监控linux,OpManager管理员指南.doc
- 电力线通信有望在物联网应用中大放异彩
- 代码质量 权威精选植根于开发实践的最佳读物
- shell获取系统当前时间、本月1日、下月1日、本月月底、上月月底、上月同期日期
- 数据恢复揭秘:三星硬盘开盘数据恢复全过程
- Apple芯片Mac安装ARM版Win10完美教程(结尾附视频)
- 【论文阅读】TomoAlign: A novel approach to correcting sample motion and 3D CTF in CryoET
- Swift实战之2048小游戏
- numpy.triu、numpy.triu_indices、np.triu_indices_from函数使用