-
Postagens
22 -
Registro em
-
Última visita
Sobre DBPixel
Informações pessoais
-
Nome
Gabriel Santos
-
Localização
Cubatão
Meios de contato
- Website
-
WhatsApp
+55 13 4042-3797
Últimos Visitantes
1.473 visualizações
-
DBPixel começou a seguir Vendo Host inteira ou somente a carteira de clientes , [ PROCURO ] PROGRAMADOR PARA CRIAR UMA API , Melhorar Trafego e Rota de VPS e 6 outros
-
[ PROCURO ] PROGRAMADOR PARA CRIAR UMA API
DBPixel respondeu ao tópico de elfahostingx em Ofertas de serviços e vagas
Olá, tudo bem? Temos expertise no desenvolvimento de APIs Rest e serviços/rotinas de integração, caso necessite de algo em específico estamos a disposição. Frameworks: C# 6 e 8 | .NET Core | MVC | WorkerServices | XML | SOAP WhatsApp: (13) 4042-3797. -
Será um prazer lhe ajudar. Caso não esteja conseguindo rastrear essas informações posso auxiliar, entre em contato via MP.
-
Consegue por os logs da sua VPS? EventViewer? TraceLog dos Requests de conexão? Usa alguma ferramenta de observabilidade? Alguma policy de firewall? Pelo erro que descreveu o gargalo está na primeira tentativa de conexão, isto é, caso estivesse com um alto delay ou timetout de tempos em tempos por lentidão na conexão seus players sentiriam isso constantemente. Consegue fornecer maiores detalhes?
-
Hook para Redirecionamento Automático para a Fatura Vencida
DBPixel respondeu ao tópico de DBPixel em Design, Desenvolvimento & E-commerce
Hahahaha, A idéia e distribuir estas utilidades pro pessoal, se tudo correr bem até o mês que vem tentaremos disponibilizar um autologin gratuito e outros módulos, gateways, os módulos do gofas nos auxiliaram muito, esses hooks e addons podem auxiliar outros também. -
Olá pessoal, Desenvolvi um hook para o WHMCS que redireciona automaticamente o usuário após o login à página de pagamento caso exista ao menos uma fatura vencida. Esse hook pode ajudar a garantir que os clientes "estejam cientes" e "forçar" o pagamento para ter acesso a outras funcionalidades dentro da sua área do cliente e pode ser personalizado conforme necessário. Segue o código do hook: <?php if (!defined("WHMCS")) { die("This file cannot be accessed directly"); } use WHMCS\Database\Capsule; add_hook('ClientAreaPage', 1, function($vars) { // Verifique se o usuário está logado if (isset($_SESSION['uid'])) { // Obtenha o ID do usuário $userId = (int) $_SESSION['uid']; // Consulta para obter a fatura mais vencida do usuário logado $invoice = Capsule::table('tblinvoices') ->where('userid', $userId) ->where('status', 'Unpaid') ->where('duedate', '<', date('Y-m-d')) ->orderBy('duedate', 'asc') ->first(); // Verifique se há uma fatura vencida if ($invoice) { $invoiceId = $invoice->id; $urlContainsInvoiceId = strpos($_SERVER['REQUEST_URI'], ''.$invoiceId) !== false; // Verifique se a página atual não contém o ID da fatura if (!$urlContainsInvoiceId) { $url = 'viewinvoice.php?id=' . $invoiceId; header('Location: ' . $url); exit; } } } }); ?>
-
Olá a todos, Gostaria de compartilhar com vocês um script cron que desenvolvi para calcular e adicionar automaticamente juros de mora às faturas vencidas no WHMCS. Esse script pode ser útil para quem precisa automatizar essa tarefa e está disponível para personalização e melhorias conforme necessário. Sinta-se à vontade para usar e adaptar conforme suas necessidades. Segue o código do script: <?php require_once __DIR__ . '/../init.php'; // Caminho relativo ao diretório do script juros.php // Incluir o arquivo de configuração do WHMCS require_once __DIR__ . '/../configuration.php'; // Ajuste o caminho conforme necessário // Configurações do banco de dados usando as variáveis do arquivo de configuração do WHMCS $db_host = $db_host; $db_username = $db_username; $db_password = $db_password; $db_name = $db_name; $mysqli = new mysqli($db_host, $db_username, $db_password, $db_name); // Verificar conexão if ($mysqli->connect_error) { die( error_log('Erro na conexão (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error)); } // Obtendo faturas vencidas $invoices = localAPI('GetInvoices', array( 'status' => 'Unpaid', 'dueafter' => date('Y-m-d', strtotime('-1 day')), // Faturas vencidas a mais de um dia 'responsetype' => 'json', )); // Convertendo o array em uma string legível para log //$logMessage = var_export($invoices, true); // Registrando o resultado da API no log //error_log($logMessage); // Verificar se a chamada à API foi bem-sucedida if ($invoices['result'] == 'success') { foreach ($invoices['invoices']['invoice'] as $invoice) { $invoiceId = $invoice['id']; $clientId = $invoice['userid']; $dueDate = strtotime($invoice['duedate']); $currentDate = time(); // Verificar se o item "Juros de Mora" já existe na fatura $interestExists = false; $interestItemId = null; // Calcular os juros de mora $daysLate = floor(($currentDate - $dueDate) / (60 * 60 * 24)); $dailyInterestRate = 0.003; // 0,033% ao dia $maxInterestRate = 0.01; // Limite máximo de 1% if($daysLate > 0 && $daysLate <=30){ // Busca ID do item Juros de Mora da Fatura no Banco $sql = "SELECT id FROM tblinvoiceitems WHERE invoiceid = ? AND description LIKE ('Juros de mora de 1% ao mês %')"; $stmt = $mysqli->prepare($sql); $stmt->bind_param('i', $invoiceId); $stmt->execute(); $stmt->store_result(); if ($stmt->num_rows > 0) { $interestExists = true; $stmt->bind_result($interestItemId); $stmt->fetch(); error_log("Item 'Juros de Mora' encontrado com o ID $interestItemId"); } $stmt->close(); error_log("Calculo Juros | Fatura ID $invoiceId: ". $daysLate * $dailyInterestRate); $interestAmount = (($maxInterestRate * $invoice['total']) / 30) * $daysLate ; error_log("Limite de Juros | Fatura ID $invoiceId: ".$interestAmount); // Arredondar o valor de $interestAmount $interestAmount = round($interestAmount, 2); // Adicionar ou atualizar o item "Juros de Mora" if ($interestExists) { // Atualizar o valor do item existente $result = localAPI('UpdateInvoice', array( 'invoiceid' => $invoiceId, 'itemdescription' => array($interestItemId => 'Juros de mora de 1% ao mês ('.$daysLate.' dias em atraso)'), 'itemamount' => array($interestItemId => $interestAmount), 'itemtaxed' => array($interestItemId => false), // Ajuste conforme necessário )); } else { // Adicionar novo item "Juros de Mora" $result = localAPI('UpdateInvoice', array( 'invoiceid' => $invoiceId, 'newitemdescription' => array($interestItemId => 'Juros de mora de 1% ao mês ('.$daysLate.' dias em atraso)'), 'newitemamount' => array($interestItemId => $interestAmount), 'newitemtaxed' => array($interestItemId => false), // Ajuste conforme necessário )); } // Verificar o resultado da operação if ($result['result'] != 'success') { // Lidar com erros ao adicionar ou atualizar o item error_log("Erro ao atualizar/adicionar 'Juros de Mora' para fatura ID $invoiceId: " . $result['message']); } else { // Log de sucesso ao adicionar ou atualizar o item if ($interestExists) { error_log("Item 'Juros de Mora' atualizado com sucesso para fatura ID $invoiceId - Dias de atraso: " .$daysLate); } else { error_log("Item 'Juros de Mora' adicionado com sucesso para fatura ID $invoiceId - Dias de atraso: " .$daysLate); } } } } } else { // Lidar com erros ao obter as faturas vencidas error_log("Erro ao obter faturas vencidas: " . $invoices['message']); } ?> Recomendo configurar agendamento cron para uma vez ao dia.
-
Eugenio não ficou claro, desmarcando a opção voltou a funcionar ou o seu restore aplicado que teve efeito? Só para esclarecer caso algum usuário precise saber como corrigir o mesmo problema.
-
Olá Eugenio, tudo bem? Pelo que entendi do seu print e seu relato você precisa que sejam enviadas faturas de cobrança via e-mail ao realizarem um novo pedido certo? No WHMCS, existe um campo onde você pode desativar ou ativar esta funcionalidade, verifique como está sua configuração e depois nos diga se deu certo, segue o passo a passo: Acesse seu WHMCS como admin, e siga o caminho: Configurações Gerais > Pedidos. Rolando a tela para baixo verá a opção que ativa/inativa esta funcionalidade: Desmarque esta opção se deseja que novos pedidos sempre terão uma fatura de cobrança enviadas junto com a confirmação do pedido, caso contrário mantenha esta opção marcada e as faturas não serão enviadas. Espero ter ajudado.
-
DBPixel alterou sua foto pessoal
-
Olá, temos interesse! WhatsApp: WhatsApp Link.
-
Invalid CSRF protection token ao acessar como cliente no WHMCS
DBPixel respondeu ao tópico de levycamara em Boteco do Host
Foi um prazer ajudar, precisando estamos a disposição. Sucesso! -
Invalid CSRF protection token ao acessar como cliente no WHMCS
DBPixel respondeu ao tópico de levycamara em Boteco do Host
@levycamara, testei a configuração do seu php.ini em meu ambiente de homologação, aparentemente está com o valor padrão para CloudLinux, e seu session.save_path do phpinfo aponta para o nativo do cpanel (Master Value). Substitua: session.save_path: "/var/cpanel/php/sessions/alt-php74" Por session.save_path = "/var/cpanel/php/sessions/ea-php74" Teste esse ajuste e retorne caso o problema persista. -
Invalid CSRF protection token ao acessar como cliente no WHMCS
DBPixel respondeu ao tópico de levycamara em Boteco do Host
Passei por este problemas algumas vezes, mais do que gostaria de lembrar. Em um dos casos, se me recordo bem, tive que desativar a verificação de IP. Tente executar este comando em seu PhpMyAdmin: UPDATE `tblconfiguration` SET `value` = 'on' WHERE `setting` = 'DisableSessionIPCheck' Importante informar a versão do seu PHP e o resultado do session.save_path do seu phpinfo(). Caso a solução acima não funcione, retorne aqui com as informações, será um prazer ajudá-lo. -
Cielo como gateway de pagamento vale a pena?
DBPixel respondeu ao tópico de eric259 em Administração geral
Estou estudando a implantação no meu WHMCS, algum módulo que você recomenda? Esse problema foi resolvido? Alguma recomendação de módulo para o WHMCS? -
Espero honestamente que ele não execute nada ilegal contra quem em suposição lhe fez algum mal. @m4v3rick Recomendo acionar a HIVELOCITY, pelo que pude analisar inicialmente, esta empresa possui uma gama de clientes e não se prejudicariam em tese, por abuso de um indivíduo único, procure o setor responsável e formalize uma denúncia.
-
Consegui as informações no https://securitytrails.com/domain/lance24h.com.br/history/a Espero que seja útil.