当前位置: 首页 > 科技观察

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

时间:2023-03-19 12:03:32 科技观察

一、前言微信小程序是一款提供非常完善、优秀、安全的支付功能的电商小程序。在小程序中可以调用微信API完成支付功能。方便快捷的场景如下图所示:用户分享或扫描二维码进入商家小程序,用户选择购买,完成购买流程调用微信支付控件,用户开始进入支付密码,密码通过验证,支付成功。商户后台收到支付成功通知,返回商户小程序,表示购买成功。微信支付公众号出具支付凭证。2、流程以电商小程序为例,支付流程图如下:具体方法:打开某小程序,点击wx.login直接下单获取用户临时登录凭证码,发送到后端服务器换取openId。下单时,小程序需要将购买的商品ID、商品数量、用户的openId发送给服务器。、商品数量、openId,生成服务期订单数据,通过一定的签名算法向微信支付发送请求,获取预付费订单信息(prepay_id)。响应必要信息小程序获取相应参数后,调用wx.requestPayment()发起微信支付,唤醒支付工作台,进行支付。接下来的一系列操作全部由用户操作,包括微信支付密码、指纹等验证,确认支付后,进行鉴权和转账支付鉴权转账:在微信后台进行鉴权,微信后台直接返回支付结果给前端,前端收到返回数据后展示支付结果并推送支付结果:微信后台返回支付结果给前端后,也会返回一个支付结果发送给后台,后台根据这个支付结果更新订单状态。后端响应数据的必要信息是wx.requestPayment方法需要的参数,大致如下:wx.requestPayment({//时间戳timeStamp:'',//随机字符串nonceStr:'',//prepay_id参数统一下单接口返回值package:'',//签名类型signType:'',//签名paySign:'',//成功回调success(){},//失败回调fail(){},//接口调用结束回调complete(){}})参数列表如下:3、小程序支付结束与之前的网页和APP微信支付类似。可以说,小程序的支付变得更加简洁,无需设置支付目录、域名授权等。操作参考https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_0.shtmlhttps://juejin.cn/post/6844903895970349064