feat(billing): renewals, coupons, VAT numbering, billing cycles and invoice payment tracking

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
baodev0
2026-10-19 16:37:56 +07:00
co-authored by Claude Sonnet 5.5
parent ea9a53f742
commit 25f23d541e
134 changed files with 4926 additions and 185 deletions
+4 -1
View File
@@ -112,7 +112,7 @@ class PleskHostingService
'status' => 'active',
]);
$this->notify($customer, $server, $account, $data['domain_name'], $ftpPassword, $pleskLogin, $pleskPassword);
$this->notify($customer, $server, $account, $data['domain_name'], $ftpPassword, $pleskLogin, $pleskPassword, $data['invoice_id'] ?? null);
return ['error' => false, 'data' => $account, 'ftp_password' => $ftpPassword];
}
@@ -125,10 +125,12 @@ class PleskHostingService
string $ftpPassword,
string $pleskLogin,
?string $pleskPassword,
?int $invoiceId = null,
): void {
$shared = [
'customer_name' => $customer->fullname,
'customer_email' => $customer->email,
'customer_company' => $customer->company,
'domain_name' => $domainName,
'hosting_plan' => $account->hosting_plan,
'server_name' => $server->name,
@@ -143,6 +145,7 @@ class PleskHostingService
dispatch(new HostingAccountCreatedJob(array_merge($shared, [
'server_host' => $server->publicHost(),
'invoice_id' => $invoiceId,
])));
dispatch(new HostingAccountCreatedAdminNotificationJob(array_merge($shared, [