メインコンテンツへスキップ
ユーザー請求エンドポイントを使用して、チームのクレジット残高を読み取り、保存された支払い方法でトップアップを購入します。両方のエンドポイントは、APIキーでの認証が必要です。無効なキーは402を返します。

クレジット残高を確認する

GET /user/credits/infoは、認証されたチームのクレジット残高、ロットごとの内訳、アクティブなサブスクリプションの詳細、および使用が許可されているかどうかを返します。 このエンドポイントを使用して、請求ウィジェット、使用状況ダッシュボード、または大規模なジョブを実行する前の事前チェックを強化します。 APIの詳細については、クレジット情報を取得するを参照してください。
import requests

response = requests.get(
    "https://api.olostep.com/user/credits/info",
    headers={"Authorization": "Bearer <API-TOKEN>"},
)
print(response.json())

レスポンス

{
  "credits": 12500,
  "breakdown": [
    {
      "purchase_kind": "Subscription",
      "allocated_units": 10000,
      "remaining_units": 8500,
      "expiry_date": 1735689600
    },
    {
      "purchase_kind": "Top-up",
      "allocated_units": 5000,
      "remaining_units": 4000,
      "expiry_date": 1743465600
    }
  ],
  "active_subscription": {
    "id": "SUB_PRO",
    "display_name": "Pro",
    "credits": 10000,
    "created_at": 1704067200
  },
  "allow_usage": true
}
フィールド説明
creditsすべての有効期限が切れていないロットにおける合計残りクレジット
breakdownロットごとの詳細:タイプ、割り当てられた単位と残り単位、有効期限
active_subscription現在のプラン(アクティブなものがない場合はSUB_BASEにフォールバック)
allow_usageチームがクレジットを消費できるかどうか
breakdown内の各ロットは、SubscriptionTop-upManualSetup、またはPendingpurchase_kindを持ちます。

トップアップを購入する

POST /user/purchase-topupは、Stripe上の保存されたカードに課金し、1ステップでクレジットを購入します。チェックアウトのリダイレクトや埋め込みの支払いUIはありません。 リクエストボディにクレジット量を渡します:
{ "credits": 10000 }
フィールド説明
credits購入するクレジットの数
サポートされる値:10,00020,00080,000、および100,000 APIの詳細については、トップアップを購入するを参照してください。
import requests

response = requests.post(
    "https://api.olostep.com/user/purchase-topup",
    headers={
        "Authorization": "Bearer <API-TOKEN>",
        "Content-Type": "application/json",
    },
    json={"credits": 10000},
)
print(response.status_code)
print(response.json())

要件

  • チームは少なくとも1枚の保存されたカードを持つStripe顧客である必要があります。
  • チームごとに60秒ごとに1回の購入試行のみが許可されます。クールダウンに達した場合、レスポンスは429Retry-Afterヘッダーが付きます。

レスポンス

200 — 支払いが成功しました:
{
  "success": true,
  "payment_intent_id": "pi_xxx",
  "credits": 10000
}
202 — 支払いがまだ処理中です。Stripeが支払いを確認するとクレジットが追加されます:
{
  "success": true,
  "status": "processing",
  "payment_intent_id": "pi_xxx",
  "message": "支払いが処理中です。支払いが確認されるとクレジットが追加されます。",
  "credits": 10000
}
クレジットは支払い確認後にStripeのWebhookによって発行され、HTTPレスポンスから直接ではありません。200を支払い成功と見なしてください。更新された残高を確認する必要がある場合は、GET /user/credits/infoをポーリングしてください。

一般的なエラー

ステータスエラー発生条件
400missing_topup_selectorcreditsが送信されていません
400invalid_creditsクレジット量が許可されたリストにありません
400no_stripe_customerチームにStripe顧客がいません
400no_payment_method保存されたカードがありません
402payment_failed保存されたカードでの課金が完了しませんでした
429purchase_topup_cooldown60秒以内に別の購入が試みられました
503payment_status_unknownあいまいなStripeエラー;再試行する前に待機してください