# 🧪 Como Testar PIX - Guia Completo

## 📋 **Pré-requisitos para Teste**

Antes de testar, certifique-se que:
- ✅ Deploy foi feito para o servidor
- ✅ SQL foi aplicado no Supabase
- ✅ Credenciais Mercado Pago configuradas no .env
- ✅ Servidor reiniciado com PM2

---

## 🔧 **1. Verificar Configuração no Servidor**

### **Conectar no servidor:**
```bash
ssh tiago@192.168.195.145
cd ~/app_estoque
```

### **Verificar se .env está configurado:**
```bash
cat .env | grep MERCADOPAGO
```

**Deve mostrar algo como:**
```
MERCADOPAGO_ACCESS_TOKEN=TEST-1234567890-abcdef...
MERCADOPAGO_PUBLIC_KEY=pk_test_1234567890abcdef...
BASE_URL=http://192.168.195.145:5000
```

### **Verificar se servidor está rodando:**
```bash
pm2 status
pm2 logs liberi-kids --lines 20
```

---

## 🗄️ **2. Verificar Banco de Dados**

### **No painel do Supabase:**
1. Acesse: https://supabase.com/dashboard
2. Vá em **SQL Editor**
3. Execute para verificar se colunas foram criadas:

```sql
SELECT column_name, data_type, column_default 
FROM information_schema.columns 
WHERE table_name = 'vendas' 
AND column_name IN ('status_pagamento', 'data_pagamento', 'pix_payment_id', 'pix_qr_code', 'metodo_pagamento')
ORDER BY column_name;
```

**Deve retornar 5 linhas com as colunas PIX.**

---

## 🌐 **3. Teste da Interface Web**

### **Acesse o sistema:**
```
http://192.168.195.145:5000
```

### **Navegue para Vendas:**
1. **Menu lateral** → **Vendas**
2. **Procure uma venda** na lista
3. **Verifique se aparece o botão PIX** (ícone 💳)

---

## 💳 **4. Teste do Modal PIX**

### **Clique no botão PIX de uma venda:**

**✅ O que deve acontecer:**
- Modal PIX abre instantaneamente
- Título: "Pagamento PIX - Venda #123"
- **QR Code** aparece (imagem quadrada)
- **Código PIX** aparece (texto longo para copiar)
- **Timer** mostra 30:00 (30 minutos)
- **Status:** "Aguardando pagamento..."

### **❌ Se der erro, verifique:**
- Console do navegador (F12)
- Logs do servidor: `pm2 logs liberi-kids`
- Se credenciais estão corretas no .env

---

## 🔍 **5. Teste das APIs Diretamente**

### **No servidor, teste as APIs:**

```bash
# Teste 1: Gerar PIX para venda ID 1
curl -X POST http://localhost:5000/api/pix/gerar \
  -H "Content-Type: application/json" \
  -d '{"vendaId": 1}'

# Deve retornar: payment_id, qr_code, qr_code_base64
```

```bash
# Teste 2: Consultar status (use o payment_id do teste anterior)
curl http://localhost:5000/api/pix/status/SEU_PAYMENT_ID

# Deve retornar: status, payment_id, etc.
```

---

## 📱 **6. Teste de Pagamento Real (Sandbox)**

### **Com credenciais TEST do Mercado Pago:**

1. **Gere um PIX** no sistema
2. **Use o app de teste** do Mercado Pago
3. **Escaneie o QR Code** ou **copie o código PIX**
4. **Simule o pagamento** no ambiente de teste

### **Cartões de teste Mercado Pago:**
```
Cartão aprovado: 4111 1111 1111 1111
CVV: 123
Vencimento: 12/25
Nome: APRO
CPF: 12345678909
```

---

## 🔄 **7. Teste do Webhook (Confirmação Automática)**

### **Configurar webhook no Mercado Pago:**
1. Acesse: https://www.mercadopago.com.br/developers
2. **Sua aplicação** → **Webhooks**
3. **URL:** `http://192.168.195.145:5000/api/pix/webhook`
4. **Eventos:** `payment`

### **Teste a confirmação:**
1. **Faça um pagamento** de teste
2. **Aguarde alguns segundos**
3. **Verifique se status mudou** para "Pago" no sistema

---

## 📊 **8. Verificar Logs e Monitoramento**

### **Logs do servidor:**
```bash
# Ver logs em tempo real:
pm2 logs liberi-kids --lines 50

# Ver apenas erros:
pm2 logs liberi-kids --err

# Ver logs específicos do PIX:
pm2 logs liberi-kids | grep -i pix
```

### **Console do navegador:**
- **F12** → **Console**
- Procure por erros em vermelho
- Verifique chamadas de API na aba **Network**

---

## ✅ **Checklist de Teste Completo**

### **Configuração:**
- [ ] Credenciais Mercado Pago no .env
- [ ] SQL aplicado no Supabase
- [ ] Servidor rodando (pm2 status)
- [ ] Build do frontend atualizado

### **Interface:**
- [ ] Botão PIX aparece nas vendas
- [ ] Modal PIX abre sem erro
- [ ] QR Code é exibido
- [ ] Código PIX aparece para copiar
- [ ] Timer funciona (30 minutos)

### **APIs:**
- [ ] POST /api/pix/gerar retorna payment_id
- [ ] GET /api/pix/status retorna dados corretos
- [ ] Webhook recebe confirmações

### **Pagamento:**
- [ ] QR Code pode ser escaneado
- [ ] Código PIX pode ser colado no banco
- [ ] Status atualiza automaticamente
- [ ] Venda fica marcada como "Paga"

---

## 🚨 **Problemas Comuns e Soluções**

### **Erro: "Access token inválido"**
```bash
# Verifique se token está correto:
cat .env | grep MERCADOPAGO_ACCESS_TOKEN
# Deve começar com TEST- ou APP-
```

### **Erro: "QR Code não aparece"**
```bash
# Verifique logs:
pm2 logs liberi-kids | grep -i error
# Reinstale dependência:
npm install mercadopago
```

### **Erro: "Webhook não funciona"**
- Verifique se URL está correta no Mercado Pago
- Teste se servidor está acessível externamente
- Configure firewall se necessário

### **Erro: "Modal não abre"**
- Verifique console do navegador (F12)
- Limpe cache do navegador (Ctrl+F5)
- Verifique se build foi feito corretamente

---

## 🎯 **Teste Rápido (2 minutos)**

```bash
# 1. Conectar no servidor
ssh tiago@192.168.195.145

# 2. Verificar status
cd ~/app_estoque && pm2 status

# 3. Testar API
curl -X POST http://localhost:5000/api/pix/gerar -H "Content-Type: application/json" -d '{"vendaId": 1}'

# 4. Acessar sistema
# http://192.168.195.145:5000 → Vendas → Botão PIX
```

**Se tudo funcionar, seu PIX está 100% operacional!** 🎉

---

## 📞 **Suporte**

Se encontrar problemas:
1. **Verifique os logs** primeiro
2. **Teste as APIs** diretamente
3. **Confirme as credenciais** do Mercado Pago
4. **Reinicie o servidor** se necessário

**Seu sistema PIX está pronto para processar pagamentos reais!** 💳🏦
