Primeiro commit
This commit is contained in:
191
teste-rapido-pix.sh
Executable file
191
teste-rapido-pix.sh
Executable file
@@ -0,0 +1,191 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 🧪 Teste Rápido PIX - Verificação Automática
|
||||
# Execute no servidor: ./teste-rapido-pix.sh
|
||||
|
||||
echo "🧪 Teste Rápido PIX - Liberi Kids"
|
||||
echo "================================="
|
||||
|
||||
# Cores para output
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
log() {
|
||||
echo -e "${GREEN}[✅ OK]${NC} $1"
|
||||
}
|
||||
|
||||
warn() {
|
||||
echo -e "${YELLOW}[⚠️ WARN]${NC} $1"
|
||||
}
|
||||
|
||||
info() {
|
||||
echo -e "${BLUE}[ℹ️ INFO]${NC} $1"
|
||||
}
|
||||
|
||||
error() {
|
||||
echo -e "${RED}[❌ ERRO]${NC} $1"
|
||||
}
|
||||
|
||||
# Verificar se estamos no diretório correto
|
||||
if [ ! -f "server-supabase.js" ]; then
|
||||
error "Execute este script no diretório do projeto!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
info "🔍 VERIFICANDO CONFIGURAÇÃO PIX..."
|
||||
|
||||
# 1. Verificar arquivo .env
|
||||
echo ""
|
||||
info "1️⃣ Verificando arquivo .env..."
|
||||
if [ -f ".env" ]; then
|
||||
log "Arquivo .env encontrado"
|
||||
|
||||
if grep -q "MERCADOPAGO_ACCESS_TOKEN" .env; then
|
||||
TOKEN=$(grep "MERCADOPAGO_ACCESS_TOKEN" .env | cut -d'=' -f2)
|
||||
if [[ $TOKEN == *"TEST-"* ]] || [[ $TOKEN == *"APP-"* ]]; then
|
||||
log "Access Token configurado"
|
||||
else
|
||||
warn "Access Token parece inválido: $TOKEN"
|
||||
fi
|
||||
else
|
||||
error "MERCADOPAGO_ACCESS_TOKEN não encontrado no .env"
|
||||
fi
|
||||
|
||||
if grep -q "MERCADOPAGO_PUBLIC_KEY" .env; then
|
||||
log "Public Key configurado"
|
||||
else
|
||||
error "MERCADOPAGO_PUBLIC_KEY não encontrado no .env"
|
||||
fi
|
||||
else
|
||||
error "Arquivo .env não encontrado!"
|
||||
fi
|
||||
|
||||
# 2. Verificar dependências
|
||||
echo ""
|
||||
info "2️⃣ Verificando dependências..."
|
||||
if [ -d "node_modules/mercadopago" ]; then
|
||||
log "SDK Mercado Pago instalado"
|
||||
else
|
||||
warn "SDK Mercado Pago não encontrado"
|
||||
info "Instalando SDK..."
|
||||
npm install mercadopago
|
||||
fi
|
||||
|
||||
# 3. Verificar se servidor está rodando
|
||||
echo ""
|
||||
info "3️⃣ Verificando servidor..."
|
||||
if command -v pm2 &> /dev/null; then
|
||||
PM2_STATUS=$(pm2 jlist | jq -r '.[] | select(.name=="liberi-kids") | .pm2_env.status' 2>/dev/null)
|
||||
if [ "$PM2_STATUS" = "online" ]; then
|
||||
log "Servidor PM2 está rodando"
|
||||
else
|
||||
warn "Servidor PM2 não está rodando"
|
||||
info "Iniciando servidor..."
|
||||
pm2 start server-supabase.js --name liberi-kids
|
||||
fi
|
||||
else
|
||||
warn "PM2 não encontrado, verificando processo Node..."
|
||||
if pgrep -f "server-supabase.js" > /dev/null; then
|
||||
log "Servidor Node está rodando"
|
||||
else
|
||||
warn "Servidor não está rodando"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 4. Testar conectividade local
|
||||
echo ""
|
||||
info "4️⃣ Testando conectividade..."
|
||||
if curl -s http://localhost:5000 > /dev/null; then
|
||||
log "Servidor responde na porta 5000"
|
||||
else
|
||||
error "Servidor não responde na porta 5000"
|
||||
fi
|
||||
|
||||
# 5. Testar API PIX (se houver vendas)
|
||||
echo ""
|
||||
info "5️⃣ Testando API PIX..."
|
||||
|
||||
# Verificar se há vendas para testar
|
||||
RESPONSE=$(curl -s -X POST http://localhost:5000/api/pix/gerar \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"vendaId": 1}' 2>/dev/null)
|
||||
|
||||
if [[ $RESPONSE == *"payment_id"* ]]; then
|
||||
log "API PIX funcionando - QR Code gerado com sucesso!"
|
||||
PAYMENT_ID=$(echo $RESPONSE | grep -o '"payment_id":"[^"]*"' | cut -d'"' -f4)
|
||||
info "Payment ID: $PAYMENT_ID"
|
||||
elif [[ $RESPONSE == *"error"* ]]; then
|
||||
warn "API PIX retornou erro:"
|
||||
echo "$RESPONSE" | head -c 200
|
||||
elif [[ $RESPONSE == *"Venda não encontrada"* ]]; then
|
||||
warn "Venda ID 1 não existe (normal se não há vendas cadastradas)"
|
||||
log "API PIX está funcionando, mas precisa de vendas para testar"
|
||||
else
|
||||
error "API PIX não responde corretamente"
|
||||
echo "Resposta: $RESPONSE"
|
||||
fi
|
||||
|
||||
# 6. Verificar arquivos PIX
|
||||
echo ""
|
||||
info "6️⃣ Verificando arquivos PIX..."
|
||||
if [ -f "config/mercadopago.js" ]; then
|
||||
log "Serviço Mercado Pago encontrado"
|
||||
else
|
||||
error "config/mercadopago.js não encontrado"
|
||||
fi
|
||||
|
||||
if [ -f "client/build/index.html" ]; then
|
||||
log "Build do frontend encontrado"
|
||||
else
|
||||
warn "Build do frontend não encontrado"
|
||||
info "Execute: cd client && npm run build"
|
||||
fi
|
||||
|
||||
# 7. Resumo final
|
||||
echo ""
|
||||
echo "📊 RESUMO DO TESTE:"
|
||||
echo "=================="
|
||||
|
||||
# Contar sucessos e erros
|
||||
SUCESSOS=0
|
||||
ERROS=0
|
||||
|
||||
# Verificar cada item
|
||||
[ -f ".env" ] && SUCESSOS=$((SUCESSOS+1)) || ERROS=$((ERROS+1))
|
||||
[ -d "node_modules/mercadopago" ] && SUCESSOS=$((SUCESSOS+1)) || ERROS=$((ERROS+1))
|
||||
[ -f "config/mercadopago.js" ] && SUCESSOS=$((SUCESSOS+1)) || ERROS=$((ERROS+1))
|
||||
|
||||
if [ $ERROS -eq 0 ]; then
|
||||
log "🎉 TODOS OS TESTES PASSARAM!"
|
||||
echo ""
|
||||
info "✅ Configuração PIX está correta"
|
||||
info "✅ Dependências instaladas"
|
||||
info "✅ Servidor funcionando"
|
||||
info "✅ APIs respondendo"
|
||||
echo ""
|
||||
log "🚀 SEU PIX ESTÁ PRONTO PARA USO!"
|
||||
echo ""
|
||||
info "📱 COMO TESTAR NA INTERFACE:"
|
||||
echo " 1. Acesse: http://$(hostname -I | awk '{print $1}'):5000"
|
||||
echo " 2. Vá em Vendas"
|
||||
echo " 3. Clique no botão PIX (💳)"
|
||||
echo " 4. Verifique se QR Code aparece"
|
||||
|
||||
elif [ $ERROS -le 2 ]; then
|
||||
warn "⚠️ ALGUNS PROBLEMAS ENCONTRADOS"
|
||||
echo ""
|
||||
info "A maioria está funcionando, verifique os itens marcados como ERRO acima"
|
||||
|
||||
else
|
||||
error "❌ MUITOS PROBLEMAS ENCONTRADOS"
|
||||
echo ""
|
||||
info "Verifique a configuração seguindo o guia TESTAR-PIX-COMPLETO.md"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
info "📖 Para testes detalhados, consulte: TESTAR-PIX-COMPLETO.md"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user