IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 面试官:说说微信小程序的支付流程? -> 正文阅读

[移动开发]面试官:说说微信小程序的支付流程?

23a59cd6a8a4ca4361b7ff19afa35760.png

一、前言

微信小程序为电商类小程序,提供了非常完善、优秀、安全的支付功能

在小程序内可调用微信的API完成支付功能,方便、快捷

场景如下图所示:

9f441d6489880bbd8ca7624390b6b872.png 6d389baf181a036eb6222de8123b8b70.png
  • 用户通过分享或扫描二维码进入商户小程序,用户选择购买,完成选购流程

  • 调起微信支付控件,用户开始输入支付密码

  • 密码验证通过,支付成功。商户后台得到支付成功的通知

  • 返回商户小程序,显示购买成功

  • 微信支付公众号下发支付凭证

二、流程

以电商小程序为例

支付流程图如下所示:

074973124e8263619ebc041c86dca6b1.png

具体的做法:

  • 打开某小程序,点击直接下单

  • wx.login获取用户临时登录凭证code,发送到后端服务器换取openId

  • 在下单时,小程序需要将购买的商品Id,商品数量,以及用户的openId传送到服务器

  • 服务器在接收到商品Id、商品数量、openId后,生成服务期订单数据,同时经过一定的签名算法,向微信支付发送请求,获取预付单信息(prepay_id),同时将获取的数据再次进行相应规则的签名,向小程序端响应必要的信息

  • 小程序端在获取对应的参数后,调用wx.requestPayment()发起微信支付,唤醒支付工作台,进行支付

  • 接下来的一些列操作都是由用户来操作的包括了微信支付密码,指纹等验证,确认支付之后执行鉴权调起支付

  • 鉴权调起支付:在微信后台进行鉴权,微信后台直接返回给前端支付的结果,前端收到返回数据后对支付结果进行展示

  • 推送支付结果:微信后台在给前端返回支付的结果后,也会向后台也返回一个支付结果,后台通过这个支付结果来更新订单的状态

其中后端响应数据必要的信息则是wx.requestPayment方法所需要的参数,大致如下:

wx.requestPayment({
??//?时间戳
??timeStamp:?'',
??//?随机字符串
??nonceStr:?'',
??//?统一下单接口返回的?prepay_id?参数值
??package:?'',
??//?签名类型
??signType:?'',
??//?签名
??paySign:?'',
??//?调用成功回调
??success?()?{},
??//?失败回调
??fail?()?{},
??//?接口调用结束回调
??complete?()?{}
})

参数表如下所示:

c0e966258045bfd385c1bcf95264b2c4.png

三、结束

小程序支付和以往的网页、APP微信支付大同小异,可以说小程序的支付变得更加简洁,不需要设置支付目录、域名授权等操作

参考文献

  • https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_0.shtml

  • https://juejin.cn/post/6844903895970349064

--The End--

系列正在更新:5/8

点击下方卡片解锁更多

d9981e2c457fa2ed4baf4a4bdd130707.png

创作不易,星标、点赞、在看 三连支持

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:30:08  更:2021-10-28 12:31:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:22:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码