Para criar um hook “Fatura Paga” no WHMCS que notifica o administrador quando um cliente efetua um pagamento, você pode usar o seguinte código PHP. Este código pode ser adicionado ao arquivo includes/hooks/seu_hook.php
no diretório de instalação do WHMCS.
Certifique-se de ajustar as variáveis e as configurações de e-mail conforme necessário para corresponder ao seu ambiente.
<?php use WHMCS\Database\Capsule; add_hook('InvoicePaid', 1, function($vars) { // ID da Fatura $invoiceId = $vars['invoiceid']; // Obter informações da Fatura $invoice = Capsule::table('tblinvoices') ->where('id', $invoiceId) ->first(); // Obter informações do Cliente $client = Capsule::table('tblclients') ->where('id', $invoice->userid) ->first(); // Enviar notificação por e-mail para o administrador sendAdminNotification('Fatura Paga', array( 'invoice_id' => $invoiceId, 'client_id' => $client->id, 'client_name' => $client->firstname . ' ' . $client->lastname, 'amount' => $invoice->total, )); }); function sendAdminNotification($subject, $vars) { $admins = Capsule::table('tbladmins')->pluck('email'); foreach ($admins as $adminEmail) { sendAdminEmail($adminEmail, $subject, $vars); } } function sendAdminEmail($to, $subject, $vars) { $message = "Fatura Paga\n\n"; $message .= "Fatura ID: " . $vars['invoice_id'] . "\n"; $message .= "Cliente ID: " . $vars['client_id'] . "\n"; $message .= "Cliente: " . $vars['client_name'] . "\n"; $message .= "Valor: " . $vars['amount'] . "\n"; mail($to, $subject, $message); }
Este hook usa o evento InvoicePaid
, que é acionado quando uma fatura é paga. O código obtém informações sobre a fatura e o cliente, e em seguida, envia uma notificação por e-mail para os administradores do WHMCS. Certifique-se de testar este código em um ambiente de teste antes de usar em produção e ajustar conforme necessário para atender às suas necessidades específicas