Spring AI 集成支付宝支付(AI对话自动唤起支付)
现在 AI + 业务落地越来越火,很多小伙伴问:Spring AI 能不能做支付?能不能一句话唤起支付宝支付?
这里统一给答案:
- Spring AI 没有官方支付组件
- 但可以通过 Function Calling + 支付宝 SDK 快速实现 对话式支付
- 用户输入:帮我付 50 元开通会员,AI 自动解析参数、生成订单、返回支付宝收银台
本文提供 完整可运行工程,基于 SpringBoot3.3 + SpringAI1.0 + 支付宝沙箱,零删减、可直接跑通、可作为真实项目原型。
- 自然语言触发支付:无需前端表单,纯对话生成支付订单
- AI 自动参数解析:金额、商品名称由大模型自动抽取
- 原生支付宝收银台:安全合规,不涉及静默扣款
- 沙箱可完整测试:无真实资金风险
- 标准 SpringAI 最佳实践:@Tool 函数调用,企业级写法
|
重要澄清:本项目不会自动扣款,只会跳转支付宝官方收银台,必须用户手动确认支付,合规安全。 |
- JDK:17+
- SpringBoot:3.3.4
- SpringAI:1.0.0-M1
- 支付宝 SDK:4.34.0.ALL
- 模型:任意支持 Function Calling 的大模型(GPT、通义千问、星火均适配)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 父工程:Spring Boot 3.3.4 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.4</version>
<relativePath/>
</parent>
<!-- 项目信息 -->
<groupId>com.example</groupId>
<artifactId>spring-ai-alipay-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-ai-alipay-demo</name>
<description>Spring AI + 支付宝支付 对话式支付Demo</description>
<!-- 版本配置 -->
<properties>
<java.version>17</java.version>
<spring-ai.version>1.0.0-M1</spring-ai.version>
</properties>
<!-- 依赖管理:Spring AI BOM 统一版本 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 核心依赖 -->
<dependencies>
<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring AI OpenAI 启动器(支持 Function Calling)-->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-openai</artifactId>
</dependency>
<!-- 支付宝官方 SDK -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.34.0.ALL</version>
</dependency>
<!-- Lombok 简化代码 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 测试依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 构建插件 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<!-- Spring AI 里程碑仓库(必须加,否则下载不到 M1 版本) -->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
|
yaml |
|
java |
六、第四步:Spring AI 核心支付工具函数(@Tool)
关键:让大模型知道 “支付能力存在” 并自动调用
|
java |
|
java |
|
java |
|
java |
启动项目,浏览器直接访问:
|
Plain Text |
- 大模型识别用户意图:需要支付
- 自动调用 alipayPay 工具
- 后端生成唯一订单号 + 支付宝官方支付表单
- 浏览器自动跳转 支付宝沙箱收银台
- 用户手动输入沙箱账号完成支付
绝对不会!
- 使用的是支付宝标准 FAST_INSTANT_TRADE_PAY 网页支付
- 只能唤起收银台,必须人工确认支付
- 不存在静默扣款、自动扣款风险,完全合规
- 语义理解:识别 “支付、付款、买、充值” 意图
- 参数抽取:自动提取金额、商品名称
- 工具调用:自动执行支付接口生成订单
- 基于 SpringAI 官方 @Tool 规范
- 业务与 AI 解耦
- 可无限扩展:退款、查订单、对账、微信支付
Demo 可用,但上线必须补全:
- 订单数据库持久化
- 支付回调 notify 验签 & 订单状态更新
- 幂等性防止重复回调
- 金额后端校验,禁止前端传参
- 密钥配置中心托管
- 支付超时关闭订单
- 退款、对账、流水记录
- 模型必须支持 Function Calling
- Tool 的 description 必须清晰、语义明确
- 核对:APPID、网关地址、公私钥
- 沙箱必须使用 沙箱网关,不要用正式环境网关
- 接口返回的是完整 HTML,浏览器直接访问即可自动提交表单
- 接入微信支付(同样封装 @Tool)
- AI 智能对账、交易分析
- 智能客服一键售后退款
- RAG + 支付 FAQ 自动解答
- Spring AI 可以完美落地 对话式支付场景
- 核心方案:AI Function Calling + 官方支付 SDK
- 本项目是 真实可运行、合规、无自动扣款风险 的工业级原型
- 可直接作为 AI 电商、AI 收银、智能财务系统的基础骨架
更多推荐




所有评论(0)