257 lines
5.8 KiB
Markdown
257 lines
5.8 KiB
Markdown
# 🧪 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!** 💳🏦
|