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