autumn-add-payments について
Autumn Paymentsは、Stripeチェックアウトを使ったAutumnの決済フロー実装ガイドです。チェックアウトと購入確定、商品シナリオ、前払い数量、Reactおよびバックエンドの連携要点を扱います。
主な機能
- 01チェックアウトと購入確定のフロー
- 02アップグレード・ダウングレード・解約に対応
- 03前払い商品の数量指定
- 04Reactとバックエンドの実装ガイド
- 05よくある連携上の注意点
活用シーン
- 01サブスクリプションのチェックアウト構築
- 02顧客の商品状況に応じた操作の表示
- 03座席制または前払い商品の販売
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ useautumn/ skills --skill autumn-add-paymentsインストール後、Claude Code で/autumn-add-paymentsを入力して読み込まれたか確認します。
詳細
Autumn Payments
コード例と最新の API については、必ず docs.useautumn.com を参照してください。
Autumn は、Stripe のチェックアウト、アップグレード、ダウングレード、キャンセルを自動的に処理します。
クイックリファレンス
決済フロー
checkout- Stripe の URL(新規顧客の場合)またはプレビュー情報(既存顧客の場合)を返しますattach- 登録済みカードがある場合に購入を確定します
チェックアウト結果
| フィールド | 説明 |
|---|---|
url | Stripe のチェックアウト URL(登録済みカードがある場合は null) |
product | シナリオを含む対象製品 |
current_product | 顧客が現在利用している製品 |
lines | 請求書の明細項目 |
total | 通貨の基本単位での金額 |
currency | 通貨コード |
製品のシナリオ
| シナリオ | 意味 | アクション |
|---|---|---|
new | 未登録 | 登録 |
active | 現在のプラン | 現在のプラン |
scheduled | 予約済み | 予約済み |
upgrade | 上位のティア | アップグレード |
downgrade | 下位のティア | ダウングレード |
renew | キャンセル済み | 更新 |
React の実装
import { useCustomer, usePricingTable } from "autumn-js/react";
const { checkout, attach } = useCustomer();
const { products } = usePricingTable();
// Checkout flow
const data = await checkout({ productId: "pro" });
if (data.url) {
window.location.href = data.url; // New customer
} else {
// Show confirmation dialog, then:
await attach({ productId: "pro" });
}
// Cancel
const { cancel } = useCustomer();
await cancel({ productId: "pro" });
// Or downgrade to free:
await attach({ productId: "free" });
バックエンドの実装
import { Autumn } from "autumn-js";
const autumn = new Autumn({ secretKey: process.env.AUTUMN_SECRET_KEY });
// Checkout
const { data } = await autumn.checkout({ customer_id, product_id: "pro" });
if (data.url) return redirect(data.url);
// Attach (after user confirms)
await autumn.attach({ customer_id, product_id: "pro" });
// Get products with scenarios
const { data: productsData } = await autumn.products.list({ customer_id });
プリペイド料金
シート数ベースまたはプリペイド製品の場合は、数量を渡します。
await autumn.checkout({
customer_id,
product_id: "credits_pack",
options: [{ feature_id: "credits", quantity: 500 }],
});
ボタンテキストのパターン
function getButtonText(product: Product): string {
const { scenario, properties } = product;
if (properties?.has_trial) return "Start Trial";
if (scenario === "active") return "Current Plan";
const text = { upgrade: "Upgrade", downgrade: "Downgrade", new: "Subscribe" };
return text[scenario] ?? "Enable";
}
よくある注意点
- URL フィールド -
data.checkout_urlではなくdata.urlです - 独自のロジックを実装しない - シナリオには
products.listを使用します - 日割り計算は自動 - Autumn がアップグレード/ダウングレードの日割り計算を処理します
- 無料プランでキャンセル - 即時キャンセルするより、無料プランを紐付けることをおすすめします
- 成功 URL - Stripe のチェックアウト後にリダイレクトするには、
success_urlを渡します
リソース
コメント
Markdown 対応