/** * Script to list all Stripe prices * Run with: node scripts/list-stripe-prices.js */ const Stripe = require('stripe'); const stripe = new Stripe(process.env.STRIPE_SECRET_KEY || 'sk_test_51R8p8R4atifoBlu1U9sMJh3rkQbO1G1xeguwFMQYMIMeaLNrTX7YFO5Ovu3P1VfbwcOoEmiy6I0UWi4DThNNzHG100YF75TnJr'); async function listPrices() { console.log('Fetching Stripe prices...\n'); try { const prices = await stripe.prices.list({ limit: 50, expand: ['data.product'] }); if (prices.data.length === 0) { console.log('No prices found. You need to create prices in Stripe Dashboard.'); console.log('\nSteps:'); console.log('1. Go to https://dashboard.stripe.com/products'); console.log('2. Click on each product (Starter, Pro, Enterprise)'); console.log('3. Add a recurring price (monthly and yearly)'); console.log('4. Copy the Price IDs (format: price_xxxxx)'); return; } console.log('Available Prices:\n'); console.log('='.repeat(100)); for (const price of prices.data) { const product = typeof price.product === 'object' ? price.product : { name: price.product }; const interval = price.recurring ? `${price.recurring.interval}ly` : 'one-time'; const amount = (price.unit_amount / 100).toFixed(2); console.log(`Price ID: ${price.id}`); console.log(`Product: ${product.name || product.id}`); console.log(`Amount: ${amount} ${price.currency.toUpperCase()}`); console.log(`Interval: ${interval}`); console.log(`Active: ${price.active}`); console.log('-'.repeat(100)); } console.log('\n\nCopy the relevant Price IDs to your .env file:'); console.log('STRIPE_STARTER_MONTHLY_PRICE_ID=price_xxxxx'); console.log('STRIPE_STARTER_YEARLY_PRICE_ID=price_xxxxx'); console.log('STRIPE_PRO_MONTHLY_PRICE_ID=price_xxxxx'); console.log('STRIPE_PRO_YEARLY_PRICE_ID=price_xxxxx'); console.log('STRIPE_ENTERPRISE_MONTHLY_PRICE_ID=price_xxxxx'); console.log('STRIPE_ENTERPRISE_YEARLY_PRICE_ID=price_xxxxx'); } catch (error) { console.error('Error fetching prices:', error.message); } } listPrices();