## ⚠️ Segurança da chave webhook

Após revogar a chave anterior no painel da Zouti:
1. Gere uma nova chave `whsec_...`
2. Abra `zouti-webhook.php`
3. Cole em: `define('ZOUTI_WEBHOOK_SECRET', 'NOVA_CHAVE_AQUI');`
4. **Nunca compartilhe essa chave em chats, e-mails ou repositórios públicos**

---

# 🐾 Integração Zouti — Dev com IA · PetShop

## Arquivos entregues

| Arquivo | O que é |
|---|---|
| `landing-zouti-petshop.html` | Landing page completa com botão de checkout Zouti |
| `zouti-webhook.php` | Receptor de webhook PHP 7.4+ para confirmar inscrições |

---

## ✅ Passo a passo para colocar no ar

### 1. Criar o produto na Zouti

1. Acesse **dashboard.zouti.com.br**
2. Menu → **Produtos** → **Criar Produto**
3. Preencha:
   - **Nome:** Dev com IA · Sistema PetShop · 29/08/2026
   - **Preço:** R$ 49,90
   - **Tipo:** Produto único (não recorrente)
4. Salve e **copie a URL do checkout** gerada

---

### 2. Colocar a URL do checkout na landing page

Abra `landing-zouti-petshop.html` e procure por:

```html
href="https://pay.zouti.com.br/checkout?poi=prod_offer_w49dp1ivpd45w1adimyxdx"
```

Substitua por sua URL real, ex:

```html
href="https://pay.zouti.com.br/checkout/prod_xxxxxxxxxxxx"
```

---

### 3. Subir o webhook.php no cPanel

1. Abra o File Manager no cPanel
2. Envie `zouti-webhook.php` para `public_html/`
3. Teste se está acessível: `https://cursoprogramacao.rvwebautomacao.com.br/zouti-webhook.php`
4. Crie a pasta `public_html/logs/` com permissão **755**

---

### 4. Configurar no banco de dados

Edite as constantes no início do `zouti-webhook.php`:

```php
define('DB_HOST', 'localhost');
define('DB_USER', 'seu_usuario_cpanel');
define('DB_PASS', 'sua_senha');
define('DB_NAME', 'seu_banco');
```

A tabela `inscricoes_treinamento` é **criada automaticamente** na primeira chamada do webhook.

---

### 5. Configurar o Webhook na Zouti

1. Dashboard Zouti → **Integrações** → **Webhooks** → **Criar Webhook**
2. Preencha:
   - **Nome:** Confirmação Dev com IA PetShop
   - **URL:** `https://cursoprogramacao.rvwebautomacao.com.br/zouti-webhook.php`
3. **Eventos — marque todos:**
   - ✅ Pedido Pago (PAID)
   - ✅ Aguardando Pagamento
   - ✅ Pedido Estornado
   - ✅ Assinatura Ativa
   - ✅ Assinatura Cancelada
4. Clique em **Criar Webhook**

---

### 6. Configurar o link do evento

No `zouti-webhook.php`, troque:

```php
define('LINK_EVENTO', 'https://meet.google.com/SEU-LINK-AQUI');
```

Pelo link real do Google Meet / Zoom / StreamYard.

---

## 🔄 Fluxo completo

```
Visitante acessa a landing page
    ↓
Clica em "Garantir minha vaga"
    ↓
Redirecionado para o checkout da Zouti
    ↓
Paga (PIX / cartão / boleto)
    ↓
Zouti envia POST para zouti-webhook.php
    ↓
PHP salva no banco MySQL (tabela inscricoes_treinamento)
    ↓
PHP envia e-mail de confirmação para o aluno com link do evento
    ↓
PHP notifica você (admin) por e-mail
```

---

## 📋 Tabela criada automaticamente

```sql
inscricoes_treinamento
├── id              (auto increment)
├── zouti_order_id  (ID único do pedido na Zouti)
├── nome
├── email
├── telefone
├── documento       (CPF)
├── valor_pago
├── metodo_pagto    (PIX / CREDIT_CARD / BOLETO)
├── status          (aguardando / pago / estornado / cancelado)
├── email_enviado   (0 ou 1 — evita reenvio duplicado)
├── payload_raw     (JSON completo da Zouti para auditoria)
├── criado_em
└── atualizado_em
```

---

## 🧪 Testar o webhook manualmente

Use o **cURL** no terminal ou o **Postman** para simular um pagamento:

```bash
curl -X POST https://cursoprogramacao.rvwebautomacao.com.br/zouti-webhook.php \
  -H "Content-Type: application/json" \
  -d '{
    "id": "ord_teste123",
    "status": "PAID",
    "amount_total": 4990,
    "amount_total_in_brl": 49.90,
    "payment": { "method": "PIX" },
    "customer": {
      "name": "Aluno Teste",
      "email": "teste@teste.com",
      "phone": "5511999999999",
      "document": "12345678909"
    }
  }'
```

**Resposta esperada:**
```json
{"ok":true,"msg":"Processado: pago"}
```

Verifique o log em: `logs/zouti_webhook.log`

---

## ⚠️ Pontos de atenção

- **E-mail via mail():** funciona em qualquer cPanel sem configuração extra. Para maior entregabilidade, integre o PHPMailer com SMTP.
- **Logs:** o arquivo `logs/zouti_webhook.log` guarda todas as chamadas. Monitore para detectar falhas.
- **Reenvio automático:** a Zouti reenvia o webhook por até 4 dias em caso de falha — o código trata duplicatas pelo `email_enviado`.
- **HTTPS:** o webhook deve estar em HTTPS (padrão em qualquer cPanel moderno).
