UPI fix
This commit is contained in:
parent
3d96bba6c6
commit
b1ecd70f8a
|
|
@ -32,6 +32,18 @@ class PhonePeTransactionSyncService {
|
||||||
* Fetch transactions from PhonePe for a date range
|
* Fetch transactions from PhonePe for a date range
|
||||||
*/
|
*/
|
||||||
async fetchTransactions(startDate, endDate) {
|
async fetchTransactions(startDate, endDate) {
|
||||||
|
// Check if PhonePe Gateway is configured
|
||||||
|
if (this.merchantId === 'YOUR_MERCHANT_ID' || !this.merchantId || this.merchantId.length < 5) {
|
||||||
|
console.log('ℹ️ [PhonePe Sync] PhonePe Gateway not configured - using Direct UPI instead');
|
||||||
|
console.log('ℹ️ [PhonePe Sync] For Direct UPI payments, use the webhook-based reconciliation');
|
||||||
|
return {
|
||||||
|
success: true,
|
||||||
|
transactions: [],
|
||||||
|
message: 'PhonePe Gateway not configured. Using Direct UPI payment system.',
|
||||||
|
usingDirectUPI: true,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const payload = {
|
const payload = {
|
||||||
merchantId: this.merchantId,
|
merchantId: this.merchantId,
|
||||||
|
|
@ -212,6 +224,23 @@ class PhonePeTransactionSyncService {
|
||||||
// Fetch transactions from PhonePe
|
// Fetch transactions from PhonePe
|
||||||
const result = await this.fetchTransactions(startDate, endDate);
|
const result = await this.fetchTransactions(startDate, endDate);
|
||||||
|
|
||||||
|
// If using Direct UPI (no PhonePe Gateway configured)
|
||||||
|
if (result.usingDirectUPI) {
|
||||||
|
console.log('ℹ️ [PhonePe Sync] Using Direct UPI - No gateway sync needed');
|
||||||
|
return {
|
||||||
|
success: true,
|
||||||
|
message: 'Direct UPI payment system active. Payments auto-detected via webhooks.',
|
||||||
|
results: {
|
||||||
|
total: 0,
|
||||||
|
matched: 0,
|
||||||
|
autoRecorded: 0,
|
||||||
|
needsReview: 0,
|
||||||
|
failed: 0,
|
||||||
|
usingDirectUPI: true,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if (!result.success) {
|
if (!result.success) {
|
||||||
return {
|
return {
|
||||||
success: false,
|
success: false,
|
||||||
|
|
@ -309,6 +338,17 @@ class PhonePeTransactionSyncService {
|
||||||
|
|
||||||
const result = await this.fetchTransactions(startDate, endDate);
|
const result = await this.fetchTransactions(startDate, endDate);
|
||||||
|
|
||||||
|
// If using Direct UPI
|
||||||
|
if (result.usingDirectUPI) {
|
||||||
|
console.log('ℹ️ [PhonePe Sync] Direct UPI active - no review queue needed');
|
||||||
|
return {
|
||||||
|
success: true,
|
||||||
|
reviewQueue: [],
|
||||||
|
count: 0,
|
||||||
|
message: 'Using Direct UPI - payments auto-detected via webhooks',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if (!result.success) {
|
if (!result.success) {
|
||||||
return { success: false, message: result.message };
|
return { success: false, message: result.message };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -720,13 +720,60 @@ class _TransactionSyncDialogState extends State<TransactionSyncDialog> {
|
||||||
),
|
),
|
||||||
SizedBox(height: 8.h),
|
SizedBox(height: 8.h),
|
||||||
Text(
|
Text(
|
||||||
'No transactions need review.\nTap "Sync Transactions" to check for new payments.',
|
'No transactions need review.',
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 14.sp,
|
fontSize: 14.sp,
|
||||||
color: Colors.grey.shade600,
|
color: Colors.grey.shade600,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
SizedBox(height: 16.h),
|
||||||
|
Container(
|
||||||
|
padding: EdgeInsets.all(16.w),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.blue.shade50,
|
||||||
|
borderRadius: BorderRadius.circular(12.r),
|
||||||
|
border: Border.all(color: Colors.blue.shade200),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.qr_code_2,
|
||||||
|
size: 32.w,
|
||||||
|
color: Colors.blue.shade600,
|
||||||
|
),
|
||||||
|
SizedBox(height: 12.h),
|
||||||
|
Text(
|
||||||
|
'Using Direct UPI Payments',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 14.sp,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
color: Colors.blue.shade900,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(height: 8.h),
|
||||||
|
Text(
|
||||||
|
'Payments are automatically detected when members pay via UPI QR codes.',
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 12.sp,
|
||||||
|
color: Colors.blue.shade700,
|
||||||
|
height: 1.4,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(height: 8.h),
|
||||||
|
Text(
|
||||||
|
'• 0% transaction fees\n• Instant auto-detection\n• Works with any UPI app',
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 11.sp,
|
||||||
|
color: Colors.blue.shade600,
|
||||||
|
height: 1.5,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue