面试官:说说微信小程序的支付流程?

系统运维2025-11-05 05:04:50668

一、面试前言

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

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

场景如下图所示:

用户通过分享或扫描二维码进入商户小程序,官说用户选择购买,说微完成选购流程 调起微信支付控件,程序程用户开始输入支付密码 密码验证通过,付流支付成功。面试商户后台得到支付成功的官说通知 返回商户小程序,显示购买成功 微信支付公众号下发支付凭证

二、说微流程

以电商小程序为例

支付流程图如下所示:

具体的程序程做法:

打开某小程序,点击直接下单 wx.login获取用户临时登录凭证code,付流发送到后端服务器换取openId 在下单时,小程序需要将购买的商品Id,WordPress模板商品数量,以及用户的openId传送到服务器 服务器在接收到商品Id、商品数量、openId后,生成服务期订单数据,同时经过一定的签名算法,向微信支付发送请求,获取预付单信息(prepay_id),同时将获取的数据再次进行相应规则的签名,向小程序端响应必要的信息 小程序端在获取对应的参数后,调用wx.requestPayment()发起微信支付,唤醒支付工作台,进行支付 接下来的一些列操作都是由用户来操作的源码下载包括了微信支付密码,指纹等验证,确认支付之后执行鉴权调起支付 鉴权调起支付:在微信后台进行鉴权,微信后台直接返回给前端支付的结果,前端收到返回数据后对支付结果进行展示 推送支付结果:微信后台在给前端返回支付的结果后,也会向后台也返回一个支付结果,后台通过这个支付结果来更新订单的状态

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

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

参数表如下所示:

三、结束

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

参考文献

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

https://juejin.cn/post/6844903895970349064

本文地址:http://www.bzve.cn/html/699d65698644.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

用电脑设计明信片教程(轻松学会用电脑设计个性化明信片)

测试驱动开发TDD | IDCF FDCC认证学员作品

一分钟搞明白!快速掌握 Go WebAssembly

为什么传统软件厂商都想转型做Saas?

笔记本处理器i5和i7的区别及选择指南(解读i5和i7,选择最适合你的笔记本处理器)

Redis vs Tendis:冷热混合存储版架构揭秘

如何让混沌工程实验降本增效

2022 年面向开发人员的七个优秀 Java IDE

友情链接

滇ICP备2023006006号-39