用途
本技能用于设置 Autumn 计费(billing)集成并创建客户(customers)。资料建议始终查阅 docs.useautumn.com 以获取代码示例与最新 API。
主要能力
支持两条集成路径:
- 路径 A:React + Node.js —— 挂载处理器(Mount handler)+ AutumnProvider。
- 路径 B:仅后端(Backend only)—— 初始化客户端 + 调用 API。
环境变量与安装
环境变量:
- AUTUMN_SECRET_KEY —— 必填。可在 app.useautumn.com 获取。
安装命令:
npm install autumn-js # Node.js
pip install autumn-py # Python
使用方式:路径 A(React + Node.js)
处理器设置按框架与文件区分:
| 框架 | 文件 | 导入 |
|---|---|---|
| Next.js App Router | app/api/autumn/[...all]/route.ts | autumn-js/next |
| React Router | app/routes/api.autumn.tsx | autumn-js/react-router |
| Hono | 任意文件 | autumn-js/hono |
| Express | 任意文件 | autumn-js/express |
| Fastify | 任意文件 | autumn-js/fastify |
处理器示例:
import { autumnHandler } from "autumn-js/next";
export const { GET, POST } = autumnHandler({
identify: async (request) => {
const session = await getSession(request);
return {
customerId: session.user.id, // or session.org.id for B2B
customerData: { name: session.user.name, email: session.user.email },
};
},
});
客户端设置:
import { AutumnProvider } from "autumn-js/react";
<AutumnProvider>{children}</AutumnProvider>
// Different backend URL:
<AutumnProvider backendUrl={process.env.NEXT_PUBLIC_API_URL} />
验证:
import { useCustomer } from "autumn-js/react";
const { customer } = useCustomer();
console.log("Autumn customer:", customer);
使用方式:路径 B(仅后端)
初始化:
import { Autumn } from "autumn-js";
const autumn = new Autumn({ secretKey: process.env.AUTUMN_SECRET_KEY });
from autumn import Autumn
autumn = Autumn('am_sk_test_xxx')
创建客户:
const { data } = await autumn.customers.create({
id: "user_id_from_auth",
name: "Test User",
email: "test@example.com",
});
常见注意事项
- B2C 与 B2B —— 在集成前先确定 customerId 是用户 ID 还是组织 ID。
- 幂等性 —— customers.create 在 ID 已存在时返回已有客户。
- 后端 URL —— 如果 API 位于不同域名,需向 Provider 传入 backendUrl。
- 密钥 —— AUTUMN_SECRET_KEY 仅保留在服务端。
相关资源
资料列出:Setup Docs、React Setup、LLMs.txt。具体内容暂未提供。
限制
关于收费标准、价格、平台支持范围、实际效果等事实,资料中暂未提供。