关于 autumn-best-practices
autumn-best-practices 是 Autumn 计费 SDK 的集成指南,面向使用 TypeScript 或 Python 接入订阅、用量计费和额度的开发者。内容涵盖常见计费流程、React Hooks 与框架处理器。
主要功能
- 01订阅与用量计费模式
- 02额度和试用支持
- 03客户、结账与订阅方法
- 04React Hooks 参考
- 05多种框架处理器导入
适用场景
- 01在后端检查功能访问并记录用量
- 02实现 Stripe 结账及购买确认
- 03在 React 界面展示客户与定价信息
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ useautumn/ skills --skill autumn-best-practices安装后在 Claude Code 中输入/autumn-best-practices确认已加载。
详细介绍
Autumn 集成指南
始终查阅 docs.useautumn.com,获取代码示例和最新 API。
Autumn 是一款以 TypeScript 为先的计费 SDK,通过 Stripe 支持订阅、按用量定价、额度、试用等功能。
快速参考
环境变量
AUTUMN_SECRET_KEY- API 密钥(必需)。请前往 app.useautumn.com 获取
安装
npm install autumn-js # Node.js
pip install autumn-py # Python
核心方法
| 方法 | 用途 |
|---|---|
customers.create | 创建或获取客户(幂等) |
checkout | 获取 Stripe URL 或支付预览 |
attach | 确认购买(使用已保存的银行卡) |
cancel | 取消订阅 |
check | 验证功能访问权限 |
track | 记录用量 |
products.list | 获取包含计费场景的产品 |
核心配置选项
| 选项 | 说明 |
|---|---|
secretKey | 必需。来自环境变量 AUTUMN_SECRET_KEY |
baseURL | 可选。默认为 https://api.useautumn.com |
计费模式
检查 → 执行 → 记录
对于受保护的操作,始终遵循以下顺序:
const { data } = await autumn.check({ customer_id, feature_id: "api_calls" });
if (!data.allowed) return { error: "Limit reached" };
const result = await doWork();
await autumn.track({ customer_id, feature_id: "api_calls", value: 1 });
return result;
两步结账
const { data } = await autumn.checkout({ customer_id, product_id: "pro" });
if (data.url) return redirect(data.url); // New customer → Stripe
// Returning customer → show confirmation, then:
await autumn.attach({ customer_id, product_id: "pro" });
产品场景
使用 products.list 获取场景。不要构建自定义逻辑。
| 场景 | 含义 |
|---|---|
new | 尚未订阅 |
active | 当前使用此套餐 |
scheduled | 已安排在未来生效 |
upgrade | 有更高级别的套餐可用 |
downgrade | 有更低级别的套餐可用 |
renew | 已取消,可重新激活 |
功能类型
| 类型 | 行为 |
|---|---|
boolean | 授予或拒绝访问权限 |
metered | 根据限额跟踪用量 |
credit_system | 多个功能共用的额度池 |
React Hooks
| Hook | 用途 |
|---|---|
useCustomer | 获取客户、结账、关联、检查 |
usePricingTable | 获取包含场景的产品 |
import { AutumnProvider } from "autumn-js/react";
<AutumnProvider>{children}</AutumnProvider>
处理程序导入
| 框架 | 导入 |
|---|---|
| Next.js | autumn-js/next |
| React Router | autumn-js/react-router |
| Hono | autumn-js/hono |
| Express | autumn-js/express |
| Fastify | autumn-js/fastify |
| 通用 | autumn-js/backend |
常见注意事项
- URL 字段 - 结账 URL 是
data.url,而不是data.checkout_url - 前端检查 - 仅用于改善用户体验。始终在后端执行检查
- 成功后记录 - 仅在操作完成后记录用量
- 额度系统 - 跟踪按量计费的功能,而不是额度系统本身
- 通过免费套餐取消 - 优先使用
attach({ product_id: "free" }),而不是cancel() - 幂等创建 - 如果 ID 已存在,
customers.create会返回现有客户
资源
评论
支持 Markdown