System Installation & Configuration Guide
Last Updated: 05/2026Welcome!
This guide is prepared to detail the installation steps of the domainCart Next v1.3 single-page domain and hosting billing software. The script is entirely file-based and does not require a database server to run.
- PHP Version: PHP 7.4 or higher (PHP 8.1+ Stable recommended) Required
- PHP cURL Extension: Required for API connections (WHM, ResellerClub, Dynadot, Payment Gateways). Required
- SSL Certificate (HTTPS): Required for Stripe, PayPal Webhooks, and Google reCAPTCHA v3 security. Required
- PHP allow_url_fopen: Must be enabled for RDAP/WHOIS JSON HTTP queries to work smoothly. Recommended
- Extract the downloaded archive file on your local computer.
- Upload all files to your website's root directory (usually
public_htmlorwww) via an FTP client (e.g., FileZilla) or your Hosting Control Panel. Uploading the files into /domaincart directory is recommended. - Check the folder permissions (CHMOD) if necessary (Default
755is sufficient):- The
/configdirectory and its underlying files must be readable and writable by the server.
3. Editing Configuration Files
This file manages your domain registrars, WHM/cPanel servers, store currency, reCAPTCHA keys, domain pricing matrix, and hosting packages.
A. Automation & API Integrations:
To enable automatic domain provisioning and hosting account creation upon successful payment, update these keys:
registrar: Set to'resellerclub'or'dynadot'to enable automatic domain registration. Set tofalseto disable.hostingpanel: Set to'cpanel'to enable automatic hosting provisioning. Set tofalseto disable.- Fill in the corresponding
resellerclub_apikey,dynadot_apikey, orwhm_tokenfields based on your selected providers.
B. Taxes, Currency & Security:
| Variable | Example Value | Description |
|---|---|---|
taxRate | 0.20 | Adds a 20% VAT/Tax at checkout. Set to 0 to disable tax. |
currency / currencyName | '$' / 'USD' | The currency symbol and short name displayed across the store. |
captchaEnabled | true / false | Enables or disables Google reCAPTCHA v3 security. |
C. Hosting Package Structure & Billing Cycles:
Hosting plans are defined under the "hosting" array. You can define custom billing cycles like this:
"Starter" => [
"label" => "10GB SSD",
"base" => 7.95,
"cycles" => [
["m" => 1, "l" => "Monthly", "p" => 7.95, "recurring" => true],
["m" => 12, "l" => "Annually", "p" => 75.40, "recurring" => false]
]
]
m: Month duration, l: Display label, p: Total cycle price, recurring: True if it auto-renews.
Manage your virtual POS and gateway integrations here. Each gateway operates with its own localized currency and routing rules.
test_mode or demo flags, and enter your live secret keys for Stripe, Mollie, or 2Checkout.Enabling/Disabling Payment Methods:
Toggle the 'enabled' => true/false flag inside the main return [...] array at the very bottom of the file to hide or show gateways to customers:
return [
'stripe' => ['value' => 'stripe', 'label' => 'Stripe', 'enabled' => true, 'settings' => $stripe],
'manual' => ['value' => 'manual', 'label' => 'Bank Transfer', 'enabled' => true, 'settings' => $manual],
];
Note: For automated order processing, you must map the callback or webhookUrl parameters into your provider's dashboard (e.g., Mollie Webhook settings).
The discount coupon engine parses cart-based business rules through a comma-separated string format.
Coupon String Pattern:
Coupon Field Breakdowns:
'SAVE10' => '10%,0,15%,20,R,31122027'
Grants 10% off on domains with no minimum spending. Grants 15% off on hosting if the hosting subtotal exceeds 20 units. Marked asR(Recurring), meaning discounts apply to future renewal billing. Expires Dec 31, 2027.
Controls validation behaviors, field formatting, and field visibility of the checkout contact and billing profile form.
'company' => ['label' => 'Company Name', 'type' => 'text', 'required' => false, 'value' => ''],
'country' => ['label' => 'Country', 'type' => 'country', 'required' => true, 'value' => 'US'],
Customization Tips:
- To make an optional field mandatory or vice-versa, toggle the Boolean
'required' => true / falsekey. - Modify the default selection country by altering the country key value attribute (e.g., changing
'US'to'GB').
The system supports modern RDAP (JSON API via HTTP) engines along with fallback traditional WHOIS (Port 43 TCP sockets) engines to process availability looks.
Adding New Top-Level Domains (TLDs):
To scale up your extension portfolio, append custom items to the core array using either methodology:
Option A: Mapping an RDAP Endpoint (Highly Recommended)
'.com' => [
'type' => 'rdap',
'url' => 'https://rdap.verisign.com/com/v1/domain/'
],
Option B: Mapping a Port 43 WHOIS Host
'.eu' => [
'type' => 'whois',
'server' => 'whois.eu',
'match' => 'Registrar:'
],
The match property represents the target phrase found inside raw text returns when a domain name is already registered. If the phrase is matched, the engine outputs 'Registered'; otherwise, it flags it as 'Available'.
- Debug Mode: If you encounter white screens during local staging, change the error suppression lines in
index.phpfromerror_reporting(0);toerror_reporting(E_ALL); ini_set('display_errors', 1);to view underlying runtime alerts. - Security Hardening: Revert debug statements back to
0when deploying the script to a public environment to block error leaking. - Mail Integrity: Configure out-of-the-box system notifications by populating the SMTP parameters inside
config_pricing.phpwith verified mail server endpoints.