Accountmaker Docs
機能

サブスクリプション

Stripeのサブスクリプションをチェックアウト、ポータル、同期、Webhookで統合します。

subscriptions stripe payments

サブスクリプション

AMはアカウントのStripeサブスクリプションのライフサイクルを管理し、価格設定とアクセス制御に集中できるようにします。

チェックアウトセッションを作成し、顧客がプランを管理できるようにし、Stripeとアカウントのアクセス状態を同期します。

サブスクリプションフロー

StripeAMUserStripeAMUserStart checkoutCreate checkout sessionRedirect to StripeComplete paymentWebhook: checkout.session.completedSync subscription + features

エンドポイント

Endpoint目的
POST /api/accounts/:account_id/subscriptions/stripe/checkout-sessionサブスクリプションのチェックアウト開始
POST /api/accounts/:account_id/subscriptions/stripe/portal-sessionカスタマーポータルを開く
POST /api/accounts/:account_id/subscriptions/stripe/checkout-session-syncチェックアウトとサブスクの同期
POST /api/accounts/:account_id/subscriptions/syncStripeからサブスクを同期
POST /api/accounts/:account_id/subscriptions/changeプラン/価格を変更
POST /api/accounts/:account_id/subscriptions/cancelサブスクリプションを解約
GET /api/accounts/:account_id/subscriptionsサブスクリプション一覧
GET /api/accounts/:account_id/subscriptions/features有効な機能一覧
GET /api/accounts/:account_id/subscriptions/identityStripe顧客IDの取得
POST /api/applications/:application_id/subscriptions/stripe/webhookStripe Webhook

チェックアウトセッション

新規サブスクリプションのStripe Checkoutセッションを作成します。

// Request
{
  price_id: "price_...",
  success_url: "https://app.example.com/success",
  cancel_url: "https://app.example.com/cancel"
}

// Response
{
  url: "https://checkout.stripe.com/..."
}

返却されたURLへユーザーをリダイレクトします。支払い後、Stripeが成功URLへリダイレクトします。

カスタマーポータル

顧客が以下を自己管理できます。

  • 支払い方法の更新
  • 請求書の確認
  • サブスクリプションの解約
  • プラン変更
// Request
{
  return_url: "https://app.example.com/settings";
}

// Response
{
  url: "https://billing.stripe.com/...";
}

サブスクリプションID

各アカウントにはStripe顧客に紐づくサブスクリプションIDがあります。Webhookの解決や課金状態の同期に使用します。

Webhookイベント

AMはStripeのWebhookを処理し、失敗時はリトライします。

イベントアクション
checkout.session.completed顧客を紐づけてサブスクを作成
customer.subscription.*サブスクリプションデータを同期
invoice.paid請求書同期 + アクセス更新
invoice.payment_failedアクセス期限の更新

関連