mcpField
A
autumn-best-practices

autumn-best-practices

github.com/useautumn开发183 次安装4 周前更新
代码仓库

关于 autumn-best-practices

autumn-best-practices 是 Autumn 计费 SDK 的集成指南,面向使用 TypeScript 或 Python 接入订阅、用量计费和额度的开发者。内容涵盖常见计费流程、React Hooks 与框架处理器。

主要功能

  1. 01订阅与用量计费模式
  2. 02额度和试用支持
  3. 03客户、结账与订阅方法
  4. 04React Hooks 参考
  5. 05多种框架处理器导入

适用场景

  1. 01在后端检查功能访问并记录用量
  2. 02实现 Stripe 结账及购买确认
  3. 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 支持订阅、按用量定价、额度、试用等功能。


快速参考

环境变量
安装
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.jsautumn-js/next
React Routerautumn-js/react-router
Honoautumn-js/hono
Expressautumn-js/express
Fastifyautumn-js/fastify
通用autumn-js/backend

常见注意事项

  1. URL 字段 - 结账 URL 是 data.url,而不是 data.checkout_url
  2. 前端检查 - 仅用于改善用户体验。始终在后端执行检查
  3. 成功后记录 - 仅在操作完成后记录用量
  4. 额度系统 - 跟踪按量计费的功能,而不是额度系统本身
  5. 通过免费套餐取消 - 优先使用 attach({ product_id: "free" }),而不是 cancel()
  6. 幂等创建 - 如果 ID 已存在,customers.create 会返回现有客户

资源

评论

支持 Markdown