最新更新 A domain ordered with hosting is checked, priced and registered

开源的 WHMCS 替代方案

PNLCS 有意与 WHMCS 保持一致:客户、产品、订单、账单、服务、工单和模块的含义都相同。区别在于许可证:PNLCS 采用 MIT 许可证,不按安装收费。

WHMCS 风格的钩子,在 PNLCS 中无需修改
add_hook('InvoicePaid', 1, function (array $vars) {
    $invoice = $vars['invoice'];
    // ...
});
WHMCS API 操作名称
GET  /api/v1/getclients
GET  /api/v1/getinvoices
POST /api/v1/addorder

逐项对比

对比项PNLCS常见商业计费系统
授权费用免费(MIT)每个安装按月收费
源代码完全开放,可审计加密或闭源
自行部署任意环境:Docker、VPS、主机面板中可以,但需授权验证
扩展自己写模块、自己发布、归自己所有受应用市场和厂商条款约束

从 WHMCS 沿用的部分

概念
产品组、产品、可配置选项、服务、订单、账单、余额、工单和部门的行为,都与 WHMCS 使用者的预期一致。
API 操作名称
HTTP API 使用 WHMCS 的操作名称,因此大多数集成只需要更换地址和凭据。
钩子
add_hook('InvoicePaid', 1, fn) 的用法完全相同;钩子出错时会记录日志并跳过,不会中断计费。
模块
与 WHMCS 一样,服务器、支付网关、域名注册商和 SSL 提供商都是独立的模块。

不停机迁移

让 PNLCS 与 WHMCS 并行运行,在客户续费时逐个迁移。整个过程中,账户始终留在原来的服务器上。

目前还没有一键导入工具

PNLCS 没有自带自动导入 WHMCS 数据库的工具。这里给出的步骤是一种实用、低风险的迁移方式。欢迎贡献导入工具。

  1. 重建产品目录按相同的名称和价格重新创建产品组和产品。
  2. 接入原有服务器账户已经在服务器上,之后由 PNLCS 接管。
  3. 重新配置设置支付网关(使用相同账户)、税务规则、邮件模板、员工和角色。
  4. 迁移客户添加每个客户及其现有服务,并设置正确的下次到期日。如果使用 Panelica,直接关联服务器上已有的账户即可。
  5. 正式切换可以在续费时逐个客户切换,也可以在维护窗口内一次性全部切换。

试用 PNLCS

在在线演示中随便点点看,或者用 Docker 安装。