114 lines
3.4 KiB
JavaScript
114 lines
3.4 KiB
JavaScript
#!/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');
|
|
|