Hook WHMCS Fatura Paga

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