HostModules Docs

Order Form Overview

The HmSingleOrderAddon checkout replaces the standard WHMCS multi-page order wizard with a streamlined single-page experience. This page explains how the form is structured and how a customer moves through it.

Entry Points

Customers reach the order form via:

URLDescription
https://yourdomain.com/checkout.phpStandalone — full-page branded checkout, no WHMCS header/footer
https://yourdomain.com/hmorder.phpWHMCS-styled — uses the active WHMCS client area template

Most stores link product “Order Now” buttons directly to:

https://yourdomain.com/checkout.php?a=add&pid={productId}

Form Structure

The single-page checkout is divided into logical sections displayed vertically on one page:

1. Product Summary

The top section shows the product the customer is about to order:

  • Product name and description
  • Billing cycle selector (monthly, quarterly, annually, etc.)
  • Price for the selected cycle
  • Any promotional discounts applied

2. Domain Configuration

If the product requires a domain (set in WHMCS product settings), the domain section appears below the product summary:

  • Register a new domain — live availability search
  • Transfer a domain — enter an existing domain + EPP/auth code
  • Use an existing domain — enter a domain the customer already owns

Info

Domain pricing is pulled from your WHMCS domain registrar pricing configuration. Only TLDs you have priced and enabled in WHMCS will appear in the TLD selector.

3. Configuration Options

If the product has configurable options (add-ons, control panels, OS choices, etc.) they appear as an inline panel below the domain section. Customers make their selections here without leaving the page.

4. Customer Details

New customers fill in account details (name, email, password, address). Existing customers log in, and the form pre-fills their information.

5. Billing & Payment

The final section shows:

  • Order summary with itemized pricing (product + domain + config options)
  • Applied discounts / promotions
  • Tax amount
  • Total due today
  • Payment gateway selector
  • Payment form (card fields, PayPal redirect button, etc.)

6. Order Confirmation

After successful payment or order placement, the customer is shown a confirmation message and redirected to the WHMCS client area or a custom URL.

Unlike the default WHMCS checkout, there are no separate pages. Sections load inline:

  1. Customer lands on the product order URL
  2. All sections are visible/expandable on one page
  3. Customer completes sections top to bottom
  4. Clicking the payment button submits the full order

No reloads

The form uses AJAX for domain availability checks and configuration option updates — customers never leave the page during the ordering process.

Mobile Experience

The order form is fully responsive. On mobile:

  • Sections stack vertically (same order as desktop)
  • The billing cycle selector becomes a scrollable pill-button row
  • The domain TLD selector collapses to a dropdown

Checkout URL Parameters

You can deep-link to a specific product using URL parameters:

ParameterDescriptionExample
pidPre-select a product by ID?a=add&pid=5
billingcyclePre-select a billing cycle?billingcycle=annually
promocodePre-apply a promo code?promocode=LAUNCH20
currencyForce a currency?currency=2

Example full URL:

https://yourdomain.com/checkout.php?a=add&pid=5&billingcycle=annually&promocode=LAUNCH20