feat: 新增支付页面接口,为接入支付宝做准备
- GET /payment: 套餐选择页(无需认证,外部浏览器打开) - GET /payment/page: 支付引导页(需 JWT,创建订单) - GET /payment/pay: 支付宝电脑网站支付占位页(需 JWT) - AppState 新增支付宝配置字段(可选) - afterbody.js: PDF下载增加状态提示和重试按钮
This commit is contained in:
32
AGENTS.md
32
AGENTS.md
@@ -275,6 +275,23 @@ created_at TIMESTAMPTZ(创建时间)
|
||||
|------|------|
|
||||
| `POST /api/payment/create-order` | 创建订单 |
|
||||
| `POST /api/payment/mock-confirm` | 模拟支付确认(测试用) |
|
||||
| `GET /payment/page` | 支付引导页面(生成订单并引导打开支付链接) |
|
||||
| `GET /payment/pay` | 支付宝电脑网站支付页面(占位,接入支付宝后替换) |
|
||||
|
||||
### 支付宝配置(可选)
|
||||
|
||||
不配置则使用模拟支付;配置后启用真实支付宝支付:
|
||||
|
||||
```env
|
||||
# .env 或 config/*.toml
|
||||
ALIPAY_APP_ID=your_alipay_app_id
|
||||
ALIPAY_PRIVATE_KEY=your_private_key_content
|
||||
ALIPAY_ALIPAY_PUBLIC_KEY=alipay_public_key_content
|
||||
ALIPAY_GATEWAY=https://openapi-sandbox.dl.alipaydev.com/gateway.do # 沙箱
|
||||
ALIPAY_GATEWAY=https://openapi.alipay.com/gateway.do # 正式
|
||||
```
|
||||
|
||||
> 正式环境必须使用 HTTPS(服务已支持 TLS)
|
||||
|
||||
---
|
||||
|
||||
@@ -401,6 +418,21 @@ ORDER BY "desc"
|
||||
|
||||
## 支付系统
|
||||
|
||||
### 支付流程
|
||||
|
||||
小程序内无法直接接入支付宝支付,采用以下方案:
|
||||
|
||||
```
|
||||
小程序 → 后端 /payment/page → 重定向到 /payment/pay → 支付宝
|
||||
```
|
||||
|
||||
1. 用户在小程序选择套餐 → 点击「立即开通」
|
||||
2. 小程序调用 `POST /api/payment/create-order` 创建订单
|
||||
3. 小程序跳转 `outter` 页面,URL 指向 `/payment/page?package=xxx`
|
||||
4. 后端验证 JWT,创建订单,返回自动跳转 HTML(利用 outter 页面复制链接提示用户在浏览器打开)
|
||||
5. 用户在浏览器打开 `/payment/pay?order_no=xxx&package_type=xxx`
|
||||
6. 后端调用支付宝接口,返回支付表单或跳转链接
|
||||
|
||||
### 支付模式
|
||||
|
||||
| 模式 | 来源 | 处理方式 |
|
||||
|
||||
Reference in New Issue
Block a user