perfexmodule.com — technical docs

Module Documentation

What each module does. How licensing works. What you need to know. No fluff.

🖥️
Module 02 · client_hosting_manager

Client Hosting Manager

Perfex 3.0+ INWX domain API Public shop Encrypted credentials

Sell and manage hosting plans and domains inside Perfex. Clients order online at /hosting, you manage services in admin, send invoices, and check domain availability via INWX API. Credentials (FTP, server logins) are stored AES-encrypted in the database.

What you get

  • Public hosting shop at /hosting with plan comparison
  • Domain availability checker (INWX API integration)
  • Plan management with pricing, billing cycles, features
  • Service management per client — status, due dates, invoicing
  • AES-encrypted server credentials storage
  • Client portal — clients see their services and domains
  • Cron integration for renewal reminders
  • Fully customizable colors and header/footer links

Setup in 5 steps

  • Install and activate module
  • Go to Hosting Manager → Settings → enter INWX credentials (or skip if no domain API needed)
  • Create hosting plans under Plans
  • Public shop is immediately live at /hosting
  • Orders land in admin → create service manually → fill credentials

🔑 Licensing — what the buyer must do

1

Purchase → receive license key via email.

2

Perfex admin → Hosting Manager → Settings → paste key in License panel → click Activate.

3

One key = one domain. License is validated against your Perfex installation domain automatically.

Technical notes

  • INWX API: set mode to ote for testing, live for production
  • Credentials encrypted with CHM_ENCRYPTION_KEY derived from your Perfex APP_KEY
  • Domain checker also works as public AJAX endpoint /chm/domain_check
  • All DB tables prefixed with your Perfex DB prefix — no conflicts
  • Service data preserved on deactivation — safe to deactivate/reactivate
⚙️
All modules

Requirements & First-Time Setup

Server requirements

  • Perfex CRM 3.0 or higher
  • PHP 8.0 or higher
  • MySQL 5.7+ / MariaDB 10.3+
  • application/config/my_routes.php writable (chmod 664)
  • Outgoing HTTPS connections to licenses.perfexmodule.com

If something doesn't work

  • Routes 404? → Check my_routes.php permissions
  • Language error? → Copy lang file to application/language/
  • License won't activate? → Check outgoing HTTPS
  • License valid but expired? → 7-day grace period. Reconnect to internet and reload.
  • Still stuck? → Email support with your domain and order number