Esta é uma plataforma completa de iGaming desenvolvida em PHP utilizando o Framework Laravel 10 e Vue 3, com várias integrações com diferentes provedores de jogos e gateways de pagamento.
ℹ️ Sobre este Repositório: Este repositório contém apenas a documentação e descrição do projeto. O código-fonte é mantido em repositório privado.
⚠️ Aviso Legal: Este software é destinado apenas para uso em jurisdições onde o iGaming é legalmente permitido. Use-o com responsabilidade e consciência, e não o utilize para fins fraudulentos.
- Backend: Laravel 10 (PHP 8.1+)
- Frontend: Vue 3, Pinia, Vue Router
- UI Framework: Filament 3, Tailwind CSS, Flowbite
- Autenticação: Laravel Sanctum, JWT Auth
- Banco de Dados: MySQL/MariaDB
- WebSockets: Laravel Echo, Pusher
- Build Tool: Vite
- Autenticação com Google OAuth
- Sistema de permissões e roles (Spatie Permissions)
- Middlewares de segurança personalizados (CheckAdmin, CheckAffiliate)
- Validação de tokens para transações de jogos
- Proteção contra fraudes em requisições de vitórias
- Slotegrator - Plataforma completa de jogos
- Salsa Games - Jogos de cassino
- EverGame - Provedor de jogos com validação de tokens
- WorldSlot - Integração completa com validação de segurança
- Fivers - Método Seamless para integração transparente
- PlayFiver - Provedor adicional de jogos
- Nexus - Integração de jogos
- Drakon - Provedor de jogos
- Games2Api - API de jogos
- Vibra - Plataforma de jogos
- VeniX - Provedor de jogos
- PlayGaming - Integração com validação de tokens
- PrivateGames - Jogos privados
- KaGaming - Provedor adicional
- DigitoPay - Gateway principal
- Stripe - Pagamentos internacionais
- SuitPay - Gateway de pagamento
- BSPay - Integração de pagamentos
- UPay Brasil - Gateway brasileiro com PIX
- Sistema de Afiliados com RevShare e CPA
- Painel de Afiliados separado e completo
- Sistema de Sub-afiliados
- Controle de comissões e saques
- Dashboard com estatísticas detalhadas
- Histórico completo de transações
- Gerenciamento de usuários, jogos e provedores
- Controle de depósitos e saques
- Gestão de banners e slides
- Configurações avançadas
- Sistema de missões
- Controle de VIP
- Gerenciamento de categorias de jogos
- Dashboard personalizado
- Controle de sub-afiliados
- Histórico de comissões
- Solicitação de saques
- Notificações em tempo real via WebSockets
- Notificações de depósitos e saques
- Sistema de eventos (GameWin, SportBet, etc.)
- Favoritos e likes
- Avaliações de jogos
- Jogos em destaque
- Busca avançada
- Controle de RTP (Return to Player)
- Visualizações e estatísticas
- Missões personalizáveis
- Sistema de recompensas
- Controle de progresso
- Níveis VIP configuráveis
- Benefícios por nível
- Controle de usuários VIP
- Configurações de roleta
- Controle de execuções
- Sistema de prêmios
- Customização de layout CSS
- Gerenciamento de banners e slides
- Personalização de temas
- Sistema de moedas múltiplas
- Controle de GGR por provedor
- Relatórios detalhados
- Análise de performance
- Estrutura de rotas modular - Sistema organizado em
routes/groups/- Separação clara entre rotas de provedores, gateways, autenticação e layouts
- Facilita manutenção e escalabilidade
- Reduz acoplamento entre módulos
- Provedores de jogos - Implementação através de Traits
- Cada provedor possui sua própria trait em
app/Traits/Providers/ - Código mais limpo e reutilizável
- Facilita adição de novos provedores
- Isolamento de lógica específica de cada integração
- Cada provedor possui sua própria trait em
- Controllers organizados - Separação clara de responsabilidades
- Controllers específicos para cada funcionalidade
- Redução de código duplicado
- Melhor organização e legibilidade
- Validação de acesso - Middlewares específicos para cada painel
CheckAdmin- Validação exclusiva para painel administrativoCheckAffiliate- Validação exclusiva para painel de afiliados- Separação completa de permissões entre painéis
- Prevenção de acesso não autorizado
- Sistema de validação de tokens implementado
- Implementação em múltiplos provedores (EverGame, WorldSlot, PlayGaming)
- Prevenção de fraudes em transações
- Validação centralizada e reutilizável
- Padronização de implementação para todos os gateways
- Sistema de serviços para cada gateway
- Melhor tratamento de erros e exceções
- Webhooks automatizados e mais confiáveis
- Todos os provedores seguem padrão único
- Sistema de traits permite fácil manutenção
- Tratamento de erros padronizado
- Logs e debugging melhorados
- Migração para Vue 3 com Composition API
- Implementação de Pinia para gerenciamento de estado
- Componentes reutilizáveis e modulares
- Melhor performance e experiência do usuário
- Painéis administrativos desenvolvidos com Filament 3
- Interface moderna e responsiva
- Melhor organização de recursos
- Refatoração de queries N+1
- Implementação de eager loading onde necessário
- Índices adicionados para melhor performance
- Otimização de relacionamentos entre models
- Uso de Attribute Casting para proteção de dados sensíveis
- Melhor organização de fillable/hidden attributes
- Relacionamentos otimizados
- Accessors e Mutators implementados
- Implementação de cache estratégico
- Otimização de rotas e configurações
- Melhor uso de recursos do Laravel
- Redução de tempo de resposta
- Migração para Vite (substituindo Mix)
- Build mais rápido e eficiente
- Melhor organização de assets
- Hot Module Replacement (HMR) para desenvolvimento
- PSR-12 - Padrão de codificação seguido
- Código mais limpo e legível
- Comentários e documentação melhorados
- Nomes de variáveis e métodos mais descritivos
- PHPDoc completo em todos os métodos públicos principais
- Documentação detalhada de métodos complexos com exemplos
- Documentação de parâmetros, retornos e exceções
- Referências cruzadas entre métodos relacionados
- Arquivos principais documentados:
app/Helpers/Core.php- Métodos principais de lógica de negócioapp/Http/Controllers/Api/Profile/WalletController.php- Controller de carteiraapp/Traits/Gateways/UpayTrait.php- Integração com gateway U Pay Brasilapp/Models/Wallet.php- Model de carteira com accessors documentados
- Sistema de exceções personalizadas
- Melhor tratamento de erros em APIs
- Logs mais informativos
- Mensagens de erro mais claras para desenvolvedores
Esta plataforma passou por diversas melhorias para prevenir ataques e proteger os usuários contra ações maliciosas.
Esse problema ocorria devido à ausência de uma validação separada, permitindo que algumas páginas do administrador fossem acessadas pelo painel de afiliado usando a mesma sessão e função.
Solução Implementada:
- Novos middlewares criados para permitir bloqueios e validações individuais nos painéis:
CheckAdmin- Validação exclusiva para administradoresCheckAffiliate- Validação exclusiva para afiliados
- Separação completa de permissões entre painéis
- Validação de roles em todas as rotas sensíveis
Para evitar que dados de vitória sejam enviados via requisição e o saldo seja fraudado, implementamos um sistema de tokens para validar as transações recebidas nos seguintes provedores:
- EverGame - Sistema de validação de tokens implementado
- WorldSlot - Validação de segurança nas transações
- PlayGaming - Proteção contra requisições fraudulentas
-
Mudanças na Consulta de Status
- Anteriormente: Enviávamos apenas o ID da transação para o front-end
- Agora: Enviamos tanto o ID da transação quanto o ID de verificação
- Benefício: Permite realizar a chamada da transação com maior segurança
-
Verificação Adicional no Webhook
- Implementada verificação adicional na confirmação de depósito
- Garante que o pagamento foi realmente aprovado antes de creditar o saldo
- Previne fraudes e duplicação de créditos
-
Webhook Automatizado
- Webhook da DigitoPay agora é automaticamente configurado
- Reduz erros de configuração manual
- Melhora a confiabilidade do sistema
- Stripe - Integração completa com suporte a webhooks
- SuitPay - Gateway de pagamento brasileiro
- BSPay - Integração de pagamentos
- U Pay Brasil - Gateway com suporte a PIX e consulta de status
- Sistema de validação de tokens em todas as transações críticas
- Proteção contra CSRF em todas as rotas
- Validação de permissões em nível de middleware
- Sistema de logs para auditoria de ações administrativas
- Proteção de dados sensíveis com atributos ocultos em modo demo
- PHP: 8.1 ou superior
- Composer: 2.0 ou superior
- Node.js: 16.x ou superior
- NPM: 8.x ou superior
- Banco de Dados: MySQL 5.7+ ou MariaDB 10.3+
- Extensões PHP: curl, intl, libxml, simplexml, zip
Nota: As imagens podem levar alguns segundos para carregar devido ao tamanho dos arquivos.
- Laravel 10
- PHP 8.1+
- MySQL/MariaDB
- Laravel Sanctum
- JWT Auth
- Spatie Permissions
- Vue 3
- Pinia
- Vue Router
- Tailwind CSS
- Flowbite
- Vite
- Filament 3
- Laravel Modules
- Laravel Echo
- Pusher
- Guzzle HTTP
- Stripe SDK
O projeto utiliza uma estrutura modular de rotas:
routes/groups/provider/- Rotas dos provedores de jogosroutes/groups/gateways/- Rotas dos gateways de pagamentoroutes/groups/auth/- Rotas de autenticaçãoroutes/groups/layouts/- Rotas de layout
Cada provedor possui sua própria trait em app/Traits/Providers/:
- Facilita a manutenção e extensão
- Permite reutilização de código
- Isola a lógica específica de cada provedor
O projeto utiliza nwidart/laravel-modules para organização modular do código.
-
Integração com Múltiplos Provedores
- Desafio: Cada provedor possui APIs diferentes e padrões distintos
- Solução: Criação de sistema de Traits padronizado, facilitando a integração de novos provedores
-
Segurança em Transações
- Desafio: Prevenir fraudes em transações de jogos
- Solução: Implementação de sistema de validação de tokens em múltiplos provedores
-
Separação de Painéis
- Desafio: Garantir que painéis administrativo e de afiliados sejam completamente separados
- Solução: Criação de middlewares específicos (CheckAdmin, CheckAffiliate)
-
Performance e Escalabilidade
- Desafio: Otimizar queries e melhorar performance
- Solução: Refatoração de queries N+1, implementação de eager loading e cache estratégico
- Problema corrigido: Ganhos dos jogos não estavam disponíveis para saque quando havia rollover ativo
- Solução implementada: Ganhos agora são creditados diretamente em
balance_withdrawal(disponível para saque) - Comportamento:
- Ganhos sempre vão para
balance_withdrawal, independentemente do rollover - Rollover se aplica apenas ao depósito inicial, não aos ganhos
- Usuários podem sacar ganhos imediatamente após vencer
- Ganhos sempre vão para
- Lógica de rollover aprimorada:
- Se rollover desabilitado: depósitos vão direto para
balance_withdrawal - Se rollover habilitado: depósitos vão para
balancecom rollover configurado
- Se rollover desabilitado: depósitos vão direto para
- Transparência: Sistema agora documenta claramente onde cada valor é creditado
- Validações aprimoradas:
- Verificação de saldo disponível com mensagens detalhadas
- Validação de limites diários, semanais, mensais e anuais
- Verificação de valores mínimos e máximos
- Correção de formatação:
- Valores de saque mínimo e máximo agora são formatados corretamente
- Correção automática de valores em centavos (ex: 500000 → 5000.00)
- Cast decimal:2 em
min_withdrawalemax_withdrawalno model Setting
- Interface administrativa:
- Ações explícitas de aprovação de saques
- Integração com SuitPay para processamento
- Filtros avançados para busca de saques
- Status visual com cores (Pendente, Aprovado, Cancelado)
- Resource de Transações no Admin:
- Visualização completa de todas as transações financeiras
- Filtros por status, método de pagamento, data e valor
- Badge de notificação com quantidade de transações pendentes
- Busca global por usuário, payment_id e referência
- Correções na tela do usuário:
- Ordenação de depósitos por data (mais recentes primeiro)
- Correção de formatação de moeda com fallback para moeda da carteira
- Tratamento de valores nulos e indefinidos
- Função
currencyFormataprimorada:- Tratamento robusto de valores
nulleundefined - Fallback automático para moeda padrão (BRL)
- Try-catch para prevenir erros de formatação
- Conversão automática para uppercase
- Tratamento robusto de valores
- Logs detalhados em operações críticas:
- Logs de saques com informações completas
- Logs de processamento de pagamentos
- Logs de webhooks com dados completos
- Facilita debugging e auditoria
- Métodos principais documentados:
Core::payWithRollover()- Lógica complexa de rollover documentadaCore::DiscountBalance()- Priorização de saldos documentadaUpayTrait::finalizePayment()- Processamento de pagamentos documentadoWalletController::requestWithdrawal()- Fluxo de saque documentado
- Características da documentação:
- Descrições detalhadas de comportamento
- Exemplos de uso práticos
- Documentação de parâmetros e retornos
- Referências cruzadas com
@see - Documentação de exceções possíveis
- ✅ Ganhos não disponíveis para saque quando rollover ativo
- ✅ Valores de saque mínimo/máximo exibidos incorretamente (500000.00 → 5000.00)
- ✅ Transações pagas aparecendo como pendentes
- ✅ Formatação de moeda com valores nulos causando erros
- ✅ Ordenação incorreta de depósitos na tela do usuário
Este projeto está em produção e sendo continuamente melhorado com novas funcionalidades e otimizações.
🌐 Site em Produção: https://usealpa.online/
Para mais informações sobre o projeto, entre em contato através do GitHub.
Nota: Este repositório contém apenas a documentação do projeto. O código-fonte é mantido em repositório privado.








