Files
portal-api/config/billing.php
2026-09-23 15:17:18 +07:00

43 lines
2.0 KiB
PHP

<?php
return [
/*
| Hạn thanh toán mặc định cho hoá đơn đơn hàng mới, tính từ ngày xuất hoá đơn.
| Trước đây due_date bị set bằng ngày hết hạn dịch vụ (now + số tháng chu kỳ), nên hoá đơn
| đơn 12 tháng có hạn thanh toán sau 12 tháng và cron overdue gần như không bao giờ chạm tới.
*/
'invoice_due_days' => (int) env('BILLING_INVOICE_DUE_DAYS', 30),
/*
| Hạn thanh toán cho hoá đơn gia hạn khi dịch vụ đã hết hạn (không còn mốc expires_at
| trong tương lai để lấy làm hạn).
*/
'renewal_due_days' => (int) env('BILLING_RENEWAL_DUE_DAYS', 7),
/*
| Lịch nhắc nợ, tính theo số ngày so với due_date. Số âm = trước hạn, 0 = đúng hạn,
| số dương = sau hạn. Mỗi mốc gửi tối đa một lần, theo dõi qua invoices.reminder_step.
*/
'reminder_offsets' => [-7, -3, 0, 3, 7],
/*
| Biên độ ân hạn sau mốc nhắc cuối cùng. Quá mốc cuối + số ngày này thì chuỗi nhắc coi
| như đã đóng, không mở lại — nếu không, một lần import dữ liệu cũ (WHMCS) sẽ làm cron
| bắn email nhắc nợ cho toàn bộ hoá đơn quá hạn nhiều năm cùng lúc.
| Giữ ân hạn thay vì cắt đúng mốc cuối để cron lỡ vài ngày vẫn gửi bù được.
*/
'reminder_grace_days' => (int) env('BILLING_REMINDER_GRACE_DAYS', 7),
/*
| Giá gia hạn lấy theo bảng giá hiện hành tại thời điểm xuất hoá đơn thay vì đóng băng
| theo giá lúc mua. Đặt false để quay lại hành vi cũ (khoá giá theo hợp đồng).
*/
'renewal_uses_current_price' => (bool) env('BILLING_RENEWAL_CURRENT_PRICE', true),
/*
| Số ngày giữ lại tài nguyên (VM/hosting) sau khi dịch vụ chuyển sang terminated,
| trước khi job thu hồi xoá hẳn.
*/
'terminate_grace_days' => (int) env('BILLING_TERMINATE_GRACE_DAYS', 0),
];