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 -->
51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import Stripe from 'stripe'
|
|
import { promptAndSetEnvironment } from './utils'
|
|
import {
|
|
proChatTiers,
|
|
starterChatTiers,
|
|
} from '@typebot.io/lib/billing/constants'
|
|
|
|
const chatsProductId = 'prod_MVXtq5sATQzIcM'
|
|
|
|
const createChatsPrices = async () => {
|
|
await promptAndSetEnvironment()
|
|
|
|
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
|
|
apiVersion: '2022-11-15',
|
|
})
|
|
|
|
await stripe.prices.create({
|
|
currency: 'usd',
|
|
billing_scheme: 'tiered',
|
|
recurring: { interval: 'month', usage_type: 'metered' },
|
|
tiers: starterChatTiers,
|
|
tiers_mode: 'volume',
|
|
tax_behavior: 'exclusive',
|
|
product: chatsProductId,
|
|
currency_options: {
|
|
eur: {
|
|
tax_behavior: 'exclusive',
|
|
tiers: starterChatTiers,
|
|
},
|
|
},
|
|
})
|
|
|
|
await stripe.prices.create({
|
|
currency: 'usd',
|
|
billing_scheme: 'tiered',
|
|
recurring: { interval: 'month', usage_type: 'metered' },
|
|
tiers: proChatTiers,
|
|
tiers_mode: 'volume',
|
|
tax_behavior: 'exclusive',
|
|
product: chatsProductId,
|
|
currency_options: {
|
|
eur: {
|
|
tax_behavior: 'exclusive',
|
|
tiers: proChatTiers,
|
|
},
|
|
},
|
|
})
|
|
}
|
|
|
|
createChatsPrices()
|