# 🚨 EXECUTAR AGORA NO SERVIDOR

## ⚡ Correção Automática (Recomendado)

Execute no servidor:

```bash
cd /var/www/gestorstream

# Tornar executável
chmod +x fix_subscriptions_now.sh

# Executar correção
./fix_subscriptions_now.sh

# Testar
php test_payment_flow.php
```

---

## 🔧 Correção Manual (Se o script não funcionar)

### 1. Editar Model Subscription

```bash
nano backend/app/Models/Subscription.php
```

**Remover estas linhas:**
- Na linha com `'active',` dentro de `$fillable` → DELETAR
- Na linha com `'active' => 'boolean',` dentro de `$casts` → DELETAR
- No método `isValid()`, mudar:
  ```php
  // DE:
  return $this->active && !$this->isExpired();
  
  // PARA:
  return $this->status === 'active' && !$this->isExpired();
  ```

Salvar: `Ctrl+O`, `Enter`, `Ctrl+X`

### 2. Editar test_payment_flow.php

```bash
nano test_payment_flow.php
```

**Buscar e remover TODAS as linhas que contenham:**
- `'active' => true,`
- `'active' => false,`
- `'cancelled_at' => now(),`

**Buscar por `->update([` e verificar se há apenas `'status' => 'cancelled'`**

Exemplo correto:
```php
->update([
    'status' => 'cancelled',  // ✅ Apenas isto, nada mais!
]);
```

Salvar: `Ctrl+O`, `Enter`, `Ctrl+X`

### 3. Limpar Cache

```bash
cd backend
php artisan config:clear
php artisan cache:clear
php artisan route:clear
cd ..
```

### 4. Testar

```bash
php test_payment_flow.php
```

---

## 🔍 Verificar se Corrigiu

```bash
# Não deve retornar nada
grep -n "'active'" test_payment_flow.php
grep -n "'cancelled_at'" test_payment_flow.php

# Se retornar algo, ainda há referências que precisam ser removidas
```

---

## ✅ Resultado Esperado

```
========================================
TESTE DE FLUXO DE PAGAMENTO E PLANOS
========================================

1. Criando usuário de teste...
   ✓ Usuário criado

2. Criando plano FREE para o usuário...
   ✓ Plano FREE ativado

3. Simulando pagamento de plano PAGO...
   ✓ Pagamento criado

4. Processando webhook de pagamento aprovado...
   ✓ Nova subscription criada
   ✓ Payment atualizado e vinculado à subscription
   ✓ Subscriptions anteriores canceladas: 1    ← SEM ERRO!
   ✓ Transação confirmada com sucesso!

5. Verificando estado final...
   ✓✓✓ TESTE PASSOU! ✓✓✓
```

---

## 🆘 Se Ainda Der Erro

Execute este comando para ver exatamente qual linha tem o problema:

```bash
grep -n "'active'\|'cancelled_at'" test_payment_flow.php | grep -v "echo\|//"
```

Isso mostrará as linhas que têm 'active' ou 'cancelled_at' (excluindo comentários e echos).

**IMPORTANTE**: O único `update()` que deve existir é:

```php
->update([
    'status' => 'cancelled',
]);
```

**NADA MAIS!** Sem `active`, sem `cancelled_at`!
