curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout',
headers={
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
{
"sessionId": "cs_test_a1b2c3d4e5f6g7h8i9j0",
"url": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4...",
"plan": {
"id": "professional",
"name": "Professional",
"monthlyCredits": 3000,
"priceCents": 1299
}
}
サブスクリプション
サブスク用 Checkout の作成
プラン契約のための Stripe Checkout セッションを作成します。
POST
/
subscriptions
/
checkout
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout',
headers={
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
{
"sessionId": "cs_test_a1b2c3d4e5f6g7h8i9j0",
"url": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4...",
"plan": {
"id": "professional",
"name": "Professional",
"monthlyCredits": 3000,
"priceCents": 1299
}
}
概要
プランへの登録のため Stripe Checkout セッションを作成します。決済完了用にユーザーへリダイレクトすべき URL を返します。セッション認証(JWT アクセストークン)が必要です。サードパーティ連携: API キー認証で
POST /subscriptions/checkout/api を利用してください。認証
string
必須
JWT アクセストークン。形式:
Bearer YOUR_ACCESS_TOKENリクエストボディ
string
必須
契約するプラン ID。次のいずれかです:
starter、professional、business、agency。string
デフォルト:"monthly"
請求頻度。
monthly または yearly。string
決済成功後のリダイレクト URL。既定はアプリのダッシュボードです。
string
ユーザーが決済をキャンセルした場合のリダイレクト URL。既定は料金ページです。
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout',
headers={
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
{
"sessionId": "cs_test_a1b2c3d4e5f6g7h8i9j0",
"url": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4...",
"plan": {
"id": "professional",
"name": "Professional",
"monthlyCredits": 3000,
"priceCents": 1299
}
}
レスポンスフィールド
string
Stripe Checkout セッション ID。後からセッションを検証する際に利用できます。
string
決済ページへユーザーを転送する URL。Stripe ホストの Checkout です。
object
選択されたプランの詳細。
Checkout の流れ
- セッション作成: 希望プランで本エンドポイントを呼び出す
- ユーザーを転送: 返却された
urlへ誘導する - 決済処理: ユーザーが Stripe 上で支払いを完了する
- Webhook: Stripe が Webhook で通知する
- 成功後の転送: ユーザーが
successUrlへリダイレクトされる - 検証(任意):
/subscriptions/currentで契約状態を確認する
エラーレスポンス
不正なリクエスト — 無効なプラン ID、または既にアクティブな契約がある場合など。
未認証 — トークンが無効または未指定です。
既にアクティブな契約がある場合は Checkout ではなく、請求ポータル(
/subscriptions/portal)からプラン変更する必要があります。POST /subscriptions/checkout/api
API キー認証で Stripe Checkout セッションを作成します。サードパーティ連携向けです。認証
API キー認証が必要です。Authorization ヘッダーに API キーを付与します。
Authorization: Bearer llmgen_your_api_key_here
リクエストボディ
/subscriptions/checkout と同一です。
レスポンス
/subscriptions/checkout と同一です。
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout/api \
-H "Authorization: Bearer llmgen_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout/api', {
method: 'POST',
headers: {
'Authorization': 'Bearer llmgen_your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout/api',
headers={
'Authorization': 'Bearer llmgen_your_api_key_here',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
このページは役に立ちましたか?
⌘I