Tente esse criado pelo ChatGPT
<?php
use WHMCS\Database\Capsule;
use WHMCS\Mail;
use WHMCS\User\Client;
add_hook('DailyCronJob', 1, function() {
// Obtém a data atual
$today = date('Y-m-d');
// Recupera todas as faturas que têm o vencimento na data de hoje
$invoices = Capsule::table('tblinvoices')
->where('duedate', '=', $today)
->where('status', '=', 'Unpaid') // Apenas faturas não pagas
->get();
// Envia e-mail de notificação para cada fatura vencida
foreach ($invoices as $invoice) {
$client = Client::find($invoice->userid);
if ($client) {
// Enviar o e-mail
$mailer = new Mail();
$mailer->setTemplate('invoice_due_today'); // Template que você configura em Configurações -> Modelos de E-mail
$mailer->setRecipients($client->email);
$mailer->setData([
'firstname' => $client->firstname,
'lastname' => $client->lastname,
'invoice_id' => $invoice->id,
'invoice_amount' => $invoice->total,
'duedate' => $invoice->duedate
]);
$mailer->send();
}
}
});
1. Uso de Hook Personalizado para Enviar Notificação no Dia do Vencimento
Você pode criar um hook personalizado para disparar a notificação no dia exato do vencimento da fatura. A ideia é usar o hook InvoiceCreation ou um hook de agendamento para verificar se a fatura está vencida no dia e, em caso afirmativo, enviar um e-mail de lembrete.
4. Alternativa: Usar Módulos de Notificação
Se você não quiser programar, pode procurar por módulos adicionais para o WHMCS que já ofereçam esse tipo de notificação. Alguns módulos pagos ou gratuitos podem permitir configurar a notificação exata do vencimento sem a necessidade de codificação.
5. Testando e Ajustando:
Após implementar a solução acima, é importante testar com faturas fictícias para garantir que as notificações estão sendo enviadas corretamente no dia do vencimento.
Você pode alterar o comportamento para enviar notificações para diferentes métodos de comunicação (SMS, webhook, etc.) dependendo das necessidades do seu cliente.
Conclusão:
Com a solução proposta, você poderá enviar um lembrete no dia exato do vencimento da fatura, atendendo a necessidade de notificar os clientes no momento correto, sem o envio antecipado. Se preferir uma solução pronta, você pode explorar módulos específicos que tratam da automação de cobranças e notificações no WHMCS.