1. 为什么选择Spring Boot集成支付宝支付?
现在做电商项目,支付功能绝对是刚需。我做过不少电商系统,发现很多开发者最头疼的就是支付模块的接入。传统方式要处理各种加密、签名、回调,代码写起来特别繁琐。但用Spring Boot配合支付宝新版Easy SDK 2.0,整个过程能简化至少60%。
新版SDK最大的改进是把原来分散的API统一封装成了Factory模式。举个例子,老版本要调支付接口得处理十多个参数,现在只需要关注核心业务字段。我去年用旧版SDK接支付功能花了三天,上个月用新版重写同样功能,只用了半天就搞定了。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与项目搭建
2.1 注册开发者账号
首先得去支付宝开放平台注册开发者账号。这里有个小技巧:建议直接注册企业账号,个人账号有些高级功能用不了。注册时准备营业执照扫描件,整个过程大约需要1个工作日审核。
注册成功后,进入"控制台"-"网页&移动应用",创建一个新应用。重点要获取三个东西:
- APPID:应用的唯一标识
- 应用公钥:用于支付宝验证你的身份
- 支付宝公钥:用于你验证支付宝的身份
2.2 生成密钥对
安全起见,千万别把私钥直接写在代码里!我见过有人把私钥上传到GitHub导致资金损失的案例。推荐的做法是:
- 下载支付宝提供的密钥生成工具
- 生成2048位的RSA2密钥对
- 将公钥设置到支付宝后台
- 私钥保存在服务器安全目录
java复制// 安全的密钥读取方式示例
public static String readPrivateKey(String path) {
try {
return Files.readString(Paths.get(path), StandardCharsets.UTF_8);
} catch (IOException e) {
throw new RuntimeException("读取密钥文件失败", e);
}
}
2.3 初始化Spring Boot项目
用IDEA新建项目时,除了基础的Web依赖,还需要这些:
xml复制<dependencies>
<!-- 支付宝新版SDK -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-easysdk</artifactId>
<version>2.2.0</version>
</dependency>
<!-- 用于处理金额精度 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
建议创建一个专门的配置类来管理支付宝参数:
java复制@Configuration
public class AlipayConfig {
@Value("${alipay.app-id}")
private String appId;
@Bean
public Config alipayConfig() {
Config config = new Config();
config.protocol = "https";
