User Guide
Credits System Configuration
Configure credit consumption and purchase functionality
TinyShip provides a complete credits system supporting user purchases and consumption.
Related Pages
| Page | Path | Description |
|---|---|---|
| Pricing | /pricing | User purchase credits entry |
| Dashboard | /dashboard | View credit balance |
| AI Chat | /ai | Credit consumption scenario |
| Image Gen | /image-generate | Credit consumption scenario |
| Admin Credits | /admin/credits | Admin view credits |
Core Features
- ✅ Credit purchase and recharge
- ✅ Credit consumption tracking
- ✅ Transaction history query
- ✅ Admin credit management
- ✅ Low balance alerts
Configure Credit Packages
// config/payment.ts
export const paymentConfig = {
mode: 'credits',
creditPlans: [
{
id: 'credits-100',
name: '100 Credits',
credits: 100,
price: 9.99,
stripePriceId: 'price_xxx',
},
{
id: 'credits-500',
name: '500 Credits',
credits: 500,
price: 39.99,
stripePriceId: 'price_xxx',
popular: true,
},
{
id: 'credits-1000',
name: '1000 Credits',
credits: 1000,
price: 69.99,
stripePriceId: 'price_xxx',
},
],
}Credit Consumption Configuration
// config/credits.ts
export const creditsConfig = {
costs: {
aiChat: 1, // AI chat per use
imageGeneration: 5, // Image generation per use
// Add other consumption scenarios...
},
}Using Credits API
import { creditsService } from '@libs/credits';
// Check balance
const balance = await creditsService.getBalance(userId);
// Consume credits
await creditsService.consume(userId, 5, 'image-generation');
// Add credits
await creditsService.add(userId, 100, 'purchase');