用户下单+微信支付学习记录
开始之前补充两个知识点,因为之前写mapper.xml文件中sql语句时,没有提示功能就会很麻烦,补充了此功能:IDEA sql自动补全/sql自动提示/sql列名提示_idea提示sql语句-CSDN博客
查看类源码:ctrl+shift+/,查看方法详情:ctrl+mouse1
用户下单
接口设计
直接看过了,手动导入代码
微信支付:
了解微信支付的流程和支付时需要调用的接口
微信小程序支付:请求的的微信平台提供的微信预支付接口,需要很多参数:mchid就是商户号(需要使用企业资质注册这个商户号)
参数说明:
mchid就是商户号(需要使用企业资质注册这个商户号)
第二个参数:订单号
appid:应用id,代表苍穹外卖,要实现支付功能,需要在商户平台将商户号mchid和应用id绑定
第四个参数:描述
notify_url:回调地址,当用户付款成功后,微信后台调用这个地址,通过这个地址通知我们的后台程序
amount中的两个参数分别时:金额大小和币种
payer:支付人,其中的openid是当前支付人的唯一标识
小程序调用微信支付接口:当后端收到微信平台返回的预备支付标识,后端就会将支付参数返回给小程序,小程序调用JSAPI,如下:
准备工作:当我的后台调用微信接口进行预支付以及微信后台调用后台推送支付结果的消息时,如何保证数据的安全性呢?
微信已经提供了加密解密、签名等多种方式。要完成数据加密解密时,我们需要提前准备好一些文件,也就是一些相应的证书。
还有一个问题;微信后台需要调用我们的商户后台,这个调用过程本质上是http请求,不能用我们本机的ip地址,因为本机的ip是局域网IP,微信后台无法调用,所以要为本机设置一个公网ip
具体如何获取到呢,这里使用了内网穿透(可以获取一个临时的公网IP)
这里不保证数据的安全性呢了,因为没有获取主播所说的文件,无法进行加密:
看完p129,没有导入那个nofity.PayNotifyController.java,然后按照评论修改小程序和后台的代码直接完成支付这个功能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步