⚡ (billing) Automatic usage-based billing (#924)
BREAKING CHANGE: Stripe environment variables simplified. Check out the new configs to adapt your existing system. Closes #906 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ### Summary by CodeRabbit **New Features:** - Introduced a usage-based billing system, providing more flexibility and options for users. - Integrated with Stripe for a smoother and more secure payment process. - Enhanced the user interface with improvements to the billing, workspace, and pricing pages for a more intuitive experience. **Improvements:** - Simplified the billing logic, removing additional chats and yearly billing for a more streamlined user experience. - Updated email notifications to keep users informed about their usage and limits. - Improved pricing and currency formatting for better clarity and understanding. **Testing:** - Updated tests and specifications to ensure the reliability of new features and improvements. **Note:** These changes aim to provide a more flexible and user-friendly billing system, with clearer pricing and improved notifications. Users should find the new system more intuitive and easier to navigate. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
18
packages/env/env.ts
vendored
18
packages/env/env.ts
vendored
@@ -140,20 +140,10 @@ const stripeEnv = {
|
||||
server: {
|
||||
STRIPE_SECRET_KEY: z.string().min(1).optional(),
|
||||
STRIPE_WEBHOOK_SECRET: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_PRODUCT_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_MONTHLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_YEARLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_CHATS_MONTHLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_CHATS_YEARLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_STORAGE_MONTHLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_STORAGE_YEARLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_PRODUCT_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_MONTHLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_YEARLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_CHATS_MONTHLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_CHATS_YEARLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_STORAGE_MONTHLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_STORAGE_YEARLY_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_STARTER_CHATS_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_PRICE_ID: z.string().min(1).optional(),
|
||||
STRIPE_PRO_CHATS_PRICE_ID: z.string().min(1).optional(),
|
||||
},
|
||||
client: {
|
||||
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: z.string().min(1).optional(),
|
||||
|
||||
Reference in New Issue
Block a user