// Cache simples em memória (Map) para armazenar status de pagamentos // Em produção, trocar por Redis ou banco de dados interface PaymentStatus { paid: boolean; paidAt?: string; amount: number; anonymous: boolean; customer?: any; } const paymentCache = new Map(); export function markAsPaid( pixId: string, data: { paidAt: string; amount: number; anonymous: boolean; customer?: any; }, ) { paymentCache.set(pixId, { paid: true, paidAt: data.paidAt, amount: data.amount, anonymous: data.anonymous, customer: data.customer, }); console.log(`✅ Pagamento marcado como pago no cache: ${pixId}`); // Limpar após 1 hora setTimeout(() => { paymentCache.delete(pixId); console.log(`🗑️ Cache expirado para: ${pixId}`); }, 3600000); } export function getPaymentStatus(pixId: string): PaymentStatus | undefined { return paymentCache.get(pixId); } // Limpar cache expirado periodicamente (a cada 5 minutos) setInterval(() => { console.log(`📊 Cache atual: ${paymentCache.size} pagamentos armazenados`); }, 300000);