参考官方APIalipay.trade.precreate(统一收单线下交易预创建)
- maven依赖:
<!-- 支付宝支付sdk -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.9.124.ALL</version>
</dependency>
<!-- 二维码工具 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.3</version>
</dependency>
- 准备工作:
AlipayConfig 配置类在第一篇关于支付宝支付文章里有写到:
Java 支付宝手机网站支付下单 支付回调 及订单查询实现
这里直接用了
file.qrCode是在配置文件里写到的二维码图片本地存储位置,
需要在项目里配置虚拟路径,参考SpringBoot文件虚拟路径配置,
以及图片开放访问,有权限限制的项目需要这一步,项目不同开放的方式也不同,举例:
如果是分布式项目的话,集成MinIO来存储图片会更好,参考
Java MinIO文件上传返回访问路径及访问配置
- 代码:
QrCodeUtil
import com.google.zxing.*;
import com.google.zxing.common.BitMatrix;