#!/usr/bin/env node /** * Test UPI Configuration * Checks if personal UPI ID is configured correctly */ require('dotenv').config(); console.log('\n========================================'); console.log(' UPI Configuration Test'); console.log('========================================\n'); const upiId = process.env.PHONEPE_UPI_ID; if (!upiId) { console.log('❌ ERROR: PHONEPE_UPI_ID not found in .env file'); console.log('\nPlease add your personal UPI ID to .env file:'); console.log('PHONEPE_UPI_ID=your_upi_id@paytm\n'); console.log('Examples:'); console.log(' - 9876543210@ybl (PhonePe)'); console.log(' - yourname@paytm (Paytm)'); console.log(' - yourname@oksbi (SBI)'); console.log(' - yourname@axisbank (Axis)\n'); process.exit(1); } console.log('✅ UPI ID Found:', upiId); console.log('\n========================================'); console.log(' Configuration Check'); console.log('========================================\n'); // Validate UPI ID format const upiRegex = /^[\w.-]+@[\w.-]+$/; if (upiRegex.test(upiId)) { console.log('✅ UPI ID format is valid'); } else { console.log('⚠️ WARNING: UPI ID format might be invalid'); console.log(' Expected format: username@provider'); } // Test QR code generation const PaymentReconciliationService = require('./src/services/payment-reconciliation-service'); const testGroupId = 'test-group-123'; const testUserId = 'test-user-456'; const testMonth = new Date().getMonth() + 1; const testYear = new Date().getFullYear(); const testAmount = 10250.00; console.log('\n========================================'); console.log(' Test Payment Details'); console.log('========================================\n'); const upiReference = PaymentReconciliationService.generateUPIReference( testGroupId, testUserId, testMonth, testYear ); console.log('📝 Test Reference:', upiReference); const qrData = PaymentReconciliationService.getQRCodeData( upiId, testAmount, 'LuckyChit Payment', upiReference ); console.log('\n📱 QR Code Data (first 100 chars):'); console.log(qrData.substring(0, 100) + '...'); console.log('\n========================================'); console.log(' Summary'); console.log('========================================\n'); console.log('✅ UPI ID:', upiId); console.log('✅ QR Code Generation: Working'); console.log('✅ Reference Generation: Working'); console.log('✅ Configuration: Complete\n'); console.log('========================================'); console.log(' Next Steps'); console.log('========================================\n'); console.log('1. Start your backend server:'); console.log(' npm start\n'); console.log('2. Test from Flutter app:'); console.log(' - Login as member'); console.log(' - Go to group details'); console.log(' - Click "Pay Installment"'); console.log(' - Select "Pay via QR Code"\n'); console.log('3. You should see:'); console.log(' - Your UPI ID:', upiId); console.log(' - A QR code to scan'); console.log(' - Payment reference number\n'); console.log('4. Test payment:'); console.log(' - Scan QR with any UPI app'); console.log(' - Complete payment'); console.log(' - Wait 5-10 seconds'); console.log(' - Payment should auto-detect!\n'); console.log('========================================\n'); console.log('💰 Cost: ₹0 (100% FREE forever!)'); console.log('📊 Transaction Fee: 0%'); console.log('⚡ Detection Time: 5-10 seconds\n'); console.log('========================================\n');