// MongoDB Seed Script for Plans Collection // Run this script with: mongosh "mongodb://admin:c4rn31r0@129.146.116.218:27017,141.148.162.114:27017/QrRapido?replicaSet=rs0&authSource=admin" seed-mongodb-plans.js // Ensure we're using the correct database db = db.getSiblingDB('QrRapido'); // Clear existing plans (optional - comment out if you want to keep existing plans) // db.Plans.deleteMany({}); print("\n📦 Seeding Plans Collection...\n"); // 1. PLANO MENSAL db.Plans.insertOne({ name: { "pt-BR": "Premium Mensal", "es-PY": "Premium Mensual", "en": "Premium Monthly" }, description: { "pt-BR": "Acesso ilimitado a todos os recursos premium - Cobrança mensal", "es-PY": "Acceso ilimitado a todas las funciones premium - Facturación mensual", "en": "Unlimited access to all premium features - Monthly billing" }, features: { "pt-BR": [ "QR Codes ilimitados", "Sem anúncios", "QR Codes dinâmicos (editáveis)", "Estatísticas avançadas", "Suporte prioritário", "Acesso à API", "Cancele a qualquer momento" ], "es-PY": [ "Códigos QR ilimitados", "Sin anuncios", "Códigos QR dinámicos (editables)", "Estadísticas avanzadas", "Soporte prioritario", "Acceso a la API", "Cancela cuando quieras" ], "en": [ "Unlimited QR Codes", "No ads", "Dynamic QR Codes (editable)", "Advanced analytics", "Priority support", "API access", "Cancel anytime" ] }, interval: "month", stripePriceId: "price_XXXXX_monthly_us", // Default price (USA) - UPDATE from appsettings.json > Stripe:Plans:Monthly:US pricesByCountry: { "BR": { amount: 9.90, currency: "BRL", stripePriceId: "price_XXXXX_monthly_br" // UPDATE from appsettings.json > Stripe:Plans:Monthly:BR }, "PY": { amount: 35000, currency: "PYG", stripePriceId: "price_XXXXX_monthly_py" // UPDATE from appsettings.json > Stripe:Plans:Monthly:PY }, "US": { amount: 1.99, currency: "USD", stripePriceId: "price_XXXXX_monthly_us" // UPDATE from appsettings.json > Stripe:Plans:Monthly:US } }, isActive: true, displayOrder: 1 }); print("✅ Plano Mensal inserido"); // 2. PLANO ANUAL (com desconto) db.Plans.insertOne({ name: { "pt-BR": "Premium Anual", "es-PY": "Premium Anual", "en": "Premium Yearly" }, description: { "pt-BR": "Acesso ilimitado a todos os recursos premium - Economia de 20% no plano anual!", "es-PY": "Acceso ilimitado a todas las funciones premium - ¡Ahorra 20% con el plan anual!", "en": "Unlimited access to all premium features - Save 20% with yearly billing!" }, features: { "pt-BR": [ "QR Codes ilimitados", "Sem anúncios", "QR Codes dinâmicos (editáveis)", "Estatísticas avançadas", "Suporte prioritário", "Acesso à API", "💰 Economia de 20%", "Cobrança anual única" ], "es-PY": [ "Códigos QR ilimitados", "Sin anuncios", "Códigos QR dinámicos (editables)", "Estadísticas avanzadas", "Soporte prioritario", "Acceso a la API", "💰 Ahorro del 20%", "Facturación anual única" ], "en": [ "Unlimited QR Codes", "No ads", "Dynamic QR Codes (editable)", "Advanced analytics", "Priority support", "API access", "💰 Save 20%", "Billed annually" ] }, interval: "year", stripePriceId: "price_XXXXX_yearly_us", // Default price (USA) - UPDATE from appsettings.json > Stripe:Plans:Yearly:US pricesByCountry: { "BR": { amount: 95.04, // 9.90 * 12 * 0.80 = Economia de 20% currency: "BRL", stripePriceId: "price_XXXXX_yearly_br" // UPDATE from appsettings.json > Stripe:Plans:Yearly:BR }, "PY": { amount: 336000, // 35000 * 12 * 0.80 = Economia de 20% currency: "PYG", stripePriceId: "price_XXXXX_yearly_py" // UPDATE from appsettings.json > Stripe:Plans:Yearly:PY }, "US": { amount: 19.10, // 1.99 * 12 * 0.80 = Economia de 20% currency: "USD", stripePriceId: "price_XXXXX_yearly_us" // UPDATE from appsettings.json > Stripe:Plans:Yearly:US } }, isActive: true, displayOrder: 2, badge: { "pt-BR": "MELHOR VALOR", "es-PY": "MEJOR VALOR", "en": "BEST VALUE" } }); print("✅ Plano Anual inserido"); print("\n✅ Plans collection seeded successfully!"); print("\n⚠️ PRÓXIMOS PASSOS:"); print("1. Acesse o Stripe Dashboard: https://dashboard.stripe.com/prices"); print("2. Crie os Price IDs para cada país e plano (mensal e anual)"); print("3. Copie os Price IDs (começam com 'price_')"); print("4. Atualize os valores no appsettings.json > Stripe:Plans"); print("5. Execute este script novamente após atualizar os Price IDs acima"); print("\n📊 Verificar planos inseridos:"); print(" db.Plans.find().pretty()"); print("\n🗑️ Para limpar e começar de novo:"); print(" db.Plans.deleteMany({})"); print("");