Sistema completo de e-commerce desenvolvido em React com integração ao Bling ERP e processamento de pagamentos via Mercado Pago Checkout Pro.
- ✅ Catálogo de produtos integrado com Bling ERP
- ✅ Carrinho de compras com persistência local
- ✅ Sistema de autenticação e registro de usuários
- ✅ Páginas de checkout completas
- ✅ Design responsivo com Tailwind CSS
- ✅ Gerenciamento de banners promocionais
- ✅ Páginas institucionais (Política de Privacidade, Termos de Uso, etc.)
- ✅ Integração completa com API do Bling ERP
- ✅ Processamento de pagamentos via Mercado Pago Checkout Pro
- ✅ Webhook para notificações de pagamento
- ✅ Envio de emails de confirmação (vendedor e cliente)
- ✅ Notificações via WhatsApp (opcional via Twilio)
- ✅ Gerenciamento de pedidos e banners
- 🔗 Bling ERP: Sincronização de produtos, categorias e estoque
- 💳 Mercado Pago: Checkout Pro com suporte a PIX, Boleto e Cartão
- 📧 Email: Notificações automáticas via Nodemailer
- 📱 WhatsApp: Notificações via Twilio (opcional)
- Node.js 16+ e npm
- Conta no Bling ERP
- Conta no Mercado Pago (credenciais de teste ou produção)
- Servidor SMTP para envio de emails (Gmail, SendGrid, etc.)
- Conta Twilio (opcional, para WhatsApp)
git clone https://github.com/seu-usuario/ecomerce-integrado-bling-mercadopago.git
cd ecomerce-integrado-bling-mercadopagonpm installcd server
npm install
cd ..REACT_APP_API_URL=http://localhost:4000# Mercado Pago
MERCADOPAGO_ACCESS_TOKEN=seu_access_token_aqui
MERCADOPAGO_PUBLIC_KEY=sua_public_key_aqui
# URLs
FRONTEND_URL=http://localhost:3000
BACKEND_URL=http://localhost:4000
PORT=4000
# Email (Nodemailer)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=seu_email@gmail.com
SMTP_PASS=sua_senha_de_app
# Vendedor
SELLER_EMAIL=vendedor@exemplo.com
SELLER_PHONE=+5511999999999
# Twilio (opcional - para WhatsApp)
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_WHATSAPP_NUMBER=- Acesse
http://localhost:4000/auth/bling/loginno navegador - Autorize o aplicativo
- O token será salvo automaticamente
cd server
npm startnpm startO frontend estará disponível em http://localhost:3000 e o backend em http://localhost:4000.
├── public/ # Arquivos estáticos
├── src/ # Código fonte do frontend
│ ├── components/ # Componentes React
│ ├── context/ # Context API (Auth, Cart)
│ ├── pages/ # Páginas da aplicação
│ ├── services/ # Serviços de API
│ └── utils/ # Utilitários
├── server/ # Backend Node.js
│ ├── src/
│ │ ├── routes/ # Rotas da API
│ │ └── templates/ # Templates de email
│ └── data/ # Dados persistidos (JSON)
└── README.md
- Acesse Mercado Pago Developers
- Crie uma aplicação
- Obtenha suas credenciais (Access Token e Public Key)
- Configure as URLs de retorno no painel do Mercado Pago:
- Success:
http://seu-dominio.com/#/checkout/success - Failure:
http://seu-dominio.com/#/checkout/failure - Pending:
http://seu-dominio.com/#/checkout/pending
- Success:
- Configure a URL do webhook:
http://seu-dominio.com/api/payments/webhook
- Acesse o painel do Bling
- Vá em Configurações > API
- Crie uma aplicação
- Configure a URL de redirecionamento:
http://localhost:4000/auth/bling/callback - Autorize o aplicativo acessando
/auth/bling/login
- Ative a verificação em duas etapas na sua conta Google
- Gere uma senha de aplicativo
- Use essa senha no campo
SMTP_PASS
O Mercado Pago fornece cartões de teste:
- Aprovado:
5031 4332 1540 6351(CVV: 123) - Recusado:
5031 4332 1540 6351(CVV: 123) - Pendente: Use PIX ou Boleto
- Adicione produtos ao carrinho
- Vá para o checkout
- Preencha os dados de entrega
- Será redirecionado para o Mercado Pago
- Complete o pagamento
- Você receberá um email de confirmação
- O vendedor receberá notificações por email e WhatsApp
npm start- Inicia o servidor de desenvolvimentonpm build- Cria build de produçãonpm test- Executa testes
npm start- Inicia o servidornpm run dev- Inicia com nodemon (hot reload)
⚠️ NUNCA commite arquivos.envou.env.server- Use variáveis de ambiente em produção
- Configure HTTPS em produção
- Valide todos os dados de entrada
- Use tokens seguros para autenticação
- Documentação do Mercado Pago
- Documentação do Bling API
- Documentação do React
- Documentação do Express
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido com ❤️ para integração completa de e-commerce.
- Os erros 401 do Bling são resolvidos reautorizando em
/auth/bling/login - O
auto_returndo Mercado Pago foi removido temporariamente para evitar erros
Para problemas ou dúvidas, abra uma issue no GitHub.
⭐ Se este projeto foi útil, considere dar uma estrela!