🐛 PROBLEMA IDENTIFICADO:
- Cliente pagava 1 assinatura mas recebia 2 faturas
- Fatura 1: subscription_create (método confirm())
- Fatura 2: subscription_cycle (webhook PAYMENT.SALE.COMPLETED)
- Ambas criadas com 8 segundos de diferença
✅ SOLUÇÃO IMPLEMENTADA:
handlePaymentCompleted() agora verifica:
1. Se já existe fatura com mesmo paypal_payment_id
- Evita duplicação por webhook reprocessado
2. Se já existe fatura paga HOJE para esta subscription
- Evita duplicação do pagamento inicial
- Webhook vem depois do confirm()
3. Só cria nova fatura se for pagamento recorrente genuíno
📊 RESULTADO:
- Pagamento inicial: 1 fatura (subscription_create)
- Renovação mensal/anual: 1 fatura (subscription_cycle)
- Webhooks duplicados: ignorados com log
🗑️ LIMPEZA:
- Removida fatura duplicada WM-2025-000002 do user_id 35