Everyone

Registrar Modules Overview

Overview of Commerce's pluggable registrar system — the five built-in modules, how to switch registrars, and how domains are tracked per-module.

Last updated 1776211200
  • Module Auto-Discovery
  • Related
  • Overview

    Commerce uses a pluggable registrar system. Each registrar is a PHP class implementing DomainRegistrarModule. Only one registrar module is active at a time — new domain registrations, renewals, and transfers always use the currently active module.

    Configuring the Active Registrar

    Location: Admin → Settings → Registrar

    1. Use the Module dropdown to select a registrar.
    2. The form updates to show that registrar's credential fields.
    3. Enter credentials.
    4. Click Test Connection to verify.
    5. Save.

    From this point, all new domain operations use the selected module.

    Five Built-In Modules

    Module ID Registrar API Format Notes
    resellerclub ResellerClub (LogicBoxes) HTTPS GET + JSON Widest TLD catalog; same API as many WHMCS setups
    enom Enom (Tucows) HTTPS GET + XML Most popular among WHMCS resellers; WhoisGuard privacy
    opensrs OpenSRS (Tucows) HTTPS POST + OPS XML Wholesale/white-label arm of Tucows; HMAC-MD5 auth
    namecheap Namecheap HTTPS GET + XML Popular; requires IP whitelist on Namecheap side
    centralnic CentralNic Reseller (Hexonet) HTTPS POST + key=value Strong new gTLD catalog; free sandbox account

    Switching Registrars

    You can switch the active registrar at any time:

    1. Go to Admin → Settings → Registrar.
    2. Select the new module.
    3. Enter credentials for the new registrar.
    4. Test the connection.
    5. Save.

    Effect on Existing Domains

    Switching the active registrar does not move existing domains. Each domains record stores a registrar_module column recording which module was used at registration. Commerce uses this stored value when performing operations on that domain (renew, sync, get EPP code, etc.) — even if the global active module has changed.

    This means you can safely switch registrars without losing management capability over existing domains. Domains registered under the old registrar continue to be managed via the old module, while new domains use the new module.

    Both modules' credentials must remain configured in settings for this to work. Clearing old credentials breaks management of existing domains registered under that module.

    Module Auto-Discovery

    The RegistrarService scans app/Registrar/Modules/ at boot and loads all classes implementing DomainRegistrarModule. Built-in modules are already in this directory. Custom modules can be added here without any further configuration.

    Related