技能 credits-handler
💳

credits-handler

安全 ⚙️ 外部命令🌐 網路存取📁 檔案系統存取

AIアプリケーションのクレジットシステムを実装

クレジットシステムをゼロから構築することは複雑でエラーが発生しやすいです。このスキルは、クレジットタイプの設定、価格スラブ、購入用のReactフック、残高表示のための即使用可能なパターンを提供します。

支援: Claude Codex Code(CC)
📊 69 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「credits-handler」。 音声生成のための新しいクレジットタイプを、1単位あたり$0.02の価格で追加

預期結果:

  • ✓ 'audio_generation'をcreditTypeSchemaに追加
  • ✓ 価格スラブを設定: 1-200単位は$0.02、201単位以上は$0.015
  • ✓ useBuyCreditsフック統合を作成
  • ✓ 使用準備完了: buyCredits('audio_generation', amount)

品質評分

38
架構
100
可維護性
83
內容
21
社群
100
安全
91
規範符合性

你能建構什麼

クレジットベースの価格設定を構築

画像生成やAPIアクセスなどのAI機能に対して従量課金制を実装

サブスクリプションボーナスクレジット

異なるプランの階層に加入したユーザーにクレジットを割り当てる

マルチクレジットシステム

個別の価格設定を持つ様々なサービス向けの異なるクレジットタイプをサポート

試試這些提示

新しいクレジットタイプを追加
1-500個で$0.05、500個以上で$0.03という価格設定で、[credit_name]という新しいクレジットタイプを追加
購入UIを作成
[credit_type]のクレジットパッケージ(100、500、1000クレジット)を表示する価格カードコンポーネントを作成
残高を確認
ユーザーが[feature]を使用する前に、十分な[credit_type]クレジットを持っているか確認するコードを書き、不足している場合はエラーを表示
サインアップ時に割り当て
アカウント作成時に新規ユーザーに50の無料[credit_type]クレジットを付与するようにシステムを設定

最佳實務

  • ユーザークレジット残高を直接変更する代わりに、必ず提供されたヘルパー関数(addCredits、deductCredits)を使用する
  • べき等性を確保し、重複付与を防ぐために、すべてのクレジット追加に一意のpaymentIdを含める
  • 有料操作を実行する前にcanDeductCreditsをチェックして、適切なエラーハンドリングを提供する

避免

  • アトミックヘルパーを使用せずに、users.credits JSONBフィールドを直接更新する
  • クレジット割り当てでpaymentIdを省略すると、重複クレジットが発生する可能性がある
  • 集中管理された設定を使用せずに、コンポーネント内でクレジット価格をハードコーディングする

常見問題

クレジットストレージにはどのデータベースがサポートされていますか?
スキーマは、柔軟なクレジットストレージのためにPostgreSQL JSONBを使用したDrizzle ORMを使用しています。
Stripeの代わりにLemon Squeezyを使用できますか?
はい、useBuyCreditsフックはStripeとLemon Squeezyの両プロバイダーをサポートしています。
クレジット控除は同時実行をどのように処理しますか?
canDeductCredits関数は、控除操作の前に残高をアトミックにチェックします。
ユーザークレジットデータは安全に保存されますか?
クレジットはデータベースに保存されます。このスキルは外部でユーザーデータにアクセスまたは保存することはありません。
なぜクレジット価格が正しく計算されないのですか?
priceCalculator関数が単価ではなく合計価格を返すようにしてください。
これはサブスクリプションプランとどう違いますか?
クレジットは従量課金の柔軟性を提供し、プランは定期的なクォータを提供します。両方を組み合わせることができます。

開發者詳情

檔案結構