重磅更新!mall电商实战项目已实现支付功能!

之前经常有小伙伴问我,mall项目有没有实现支付功能。最近发现支付宝支付有沙箱环境了,无需复杂的商业流程,只需拥有一个支付宝账号,即可实现支付功能。目前mall项目已实现支付宝支付功能,今天就给大家介绍下它的使用,感兴趣的小伙伴可以了解下!

mall项目简介

这里还是简单介绍下mall项目吧,mall项目是一套基于 SpringBoot + Vue + uni-app 实现的电商系统(Github标星60K),采用Docker容器化部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、支付、权限、优惠券、会员、支付等功能,功能很强大!

后台管理系统演示

前台商城项目演示

支付流程

下面我们来介绍下mall项目中的订单流程和支付流程。

订单流程

其实之前mall项目中之前已经实现了完整的订单流程,只需修改很少的代码,就能对接支付功能了,具体流程可以参考下图。

其实仅需三步就可以实现支付了:

  • 确认支付环节添加支付宝支付功能;
  • 支付结果页去支付宝查询支付结果;
  • 在支付宝的异步回调中调用原来实现的支付成功逻辑。

支付流程演示

接下来我们来演示下mall项目的整个支付流程。

  • 首先我们添加商品到购物车,然后去创建订单;
  • 接下来我们点击提交订单,在弹框中选择去支付,之后我们就会进入选择支付页面,选择支付宝支付,并点击确认支付
  • 然后会跳转到支付宝付款页,选择继续浏览器付款
  • 之后我们输入沙箱环境的买家账号登录,登录成功后点击确认付款即可;
  • 支付成功后,点击完成按钮,我们会跳转到我们配置好的支付结果页面;
  • 在该页面我们可以查看到支付状态,点击查看订单可以去查看订单;
  • 打开订单详情页,我们可以发现该订单已经被成功支付,并进入等待发货状态。

支付配置

如何在mall项目中使用支付功能呢,这里仅需两步配置即可实现。

mall项目配置

  • 我们需要在mall-portal模块的application-dev.yml中添支付宝支付的配置,注意替换成自己的支付宝配置;
yaml 复制代码
alipay:
  # 支付宝网关
  gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
  # 应用ID
  appId: your appId
  # 应用私钥
  alipayPublicKey: your alipayPublicKey
  # 支付宝公钥
  appPrivateKey: your appPrivateKey
  # 用户确认支付后,支付宝调用的页面返回路径,开发环境为:http://localhost:8060/#/pages/money/paySuccess
  returnUrl: http://localhost:8060/#/pages/money/paySuccess
  # 支付成功后,支付宝服务器主动通知商户服务器里的异步通知回调(需要公网能访问),开发环境为:http://localhost:8085/alipay/notify
  notifyUrl: 
  • 配置文件中的支付宝网关地址和APPID可以从这里获取;
  • 我们打开支付宝的秘钥查看,可以发现里面有三个秘钥,应用公钥、应用私钥和支付宝公钥,我们只需使用应用私钥和支付宝公钥这两个即可。

mall-app-web配置

mall-app-web是mall项目的前台商城项目,目前默认没有开启支付宝支付功能,只需修改appConfig.js文件的USE_ALIPAY属性即可开启。

总结

今天给大家介绍了下mall项目中的支付功能,其实基于之前的订单功能,实现支付也是很简单的,感兴趣的小伙伴可以去github上下载mall项目的最新代码,体验一下支付功能!

项目源码地址

github.com/macrozheng/...

相关推荐
二哈赛车手6 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~7 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8297 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
candyTong8 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
未若君雅裁8 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手9 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
GetcharZp9 小时前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端
阿维的博客日记9 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI9 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding10 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构