webmoney/backend/app
marco 0a10fd0194 fix: Evitar criação de faturas duplicadas no webhook PayPal
🐛 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
2025-12-19 17:20:12 +01:00
..
Console/Commands refactor: migração para desenvolvimento direto no servidor 2025-12-19 11:45:32 +01:00
Http fix: Evitar criação de faturas duplicadas no webhook PayPal 2025-12-19 17:20:12 +01:00
Mail feat: Sistema completo de cancelamento de assinatura v1.60.0 2025-12-19 17:00:54 +01:00
Models refactor: migração para desenvolvimento direto no servidor 2025-12-19 11:45:32 +01:00
Policies refactor: migração para desenvolvimento direto no servidor 2025-12-19 11:45:32 +01:00
Providers refactor: migração para desenvolvimento direto no servidor 2025-12-19 11:45:32 +01:00
Services fix: associar automaticamente transações ao centro de custo Geral 2025-12-19 16:26:27 +01:00