Domain Management
ProEcommerce integrates with AWS Route53 Domains as the primary registrar, with Namecheap and OpenSRS as alternates. Registrations happen on your AWS account — funds move directly from your Stripe to AWS.
Supported registrars
| Registrar | Status | Use case |
|---|---|---|
| AWS Route53 Domains | Production | Default — best integration with Route53 DNS |
| Namecheap | Stub | API wired, pricing not yet loaded |
| OpenSRS / Tucows | Planned | For international TLD coverage |
Registering a new domain
The client-facing flow:
- Client enters a domain name in the order form
- ProEcommerce checks availability against the registrar's API in real time
- If available, the domain is added to the cart at the registrar's price plus your markup
- Client pays → Stripe authorizes (but does not capture) the charge
- ProEcommerce calls
RegisterDomainon the registrar API - On success, the Stripe authorization is captured and the domain activates
- On failure, the authorization is voided — the client is never charged
DNS management
Every Route53-registered domain automatically gets a matching hosted zone with default records:
@ A <tenant default IP or blank>
www CNAME @
* A <tenant default IP or blank>
@ MX 10 mail.yourdomain.com
@ TXT "v=spf1 ...>"
Clients can edit these records from the portal (restricted to record types you allow). Changes go through the Route53 API and propagate in seconds.
WHOIS privacy
Privacy is available on all supported TLDs where the registry allows it.
Toggle it per-domain in the admin dashboard; the change pushes to the
registrar via UpdateDomainContactPrivacy. No separate product
purchase required — it's included.
Domain transfers (inbound)
To transfer a domain in from another registrar:
- Client unlocks the domain at the losing registrar and requests the auth code (EPP key)
- They order the transfer in ProEcommerce, entering the auth code
- We issue a
TransferDomainAPI call - The registry contacts the losing registrar — typically takes 5–7 days
- On completion, the domain appears in the client's portal with a fresh expiry
Renewals
The renewal-invoices cron runs monthly on the 1st and generates
invoices for domains expiring in the next 45 days. Clients see the upcoming
renewal on their dashboard and can either auto-renew (default) or cancel.
Bulk import (existing portfolios)
When you migrate from another registrar or WHMCS, existing domains are
imported via sync-domains cron. Matches by domain name
create client_id links automatically; unmatched domains park
with client_id = NULL and sit in an admin-only "unassigned"
view until linked manually.
TLDs supported
Route53 Domains supports ~200 TLDs including all major gTLDs (.com, .net, .org, .io, .co, .dev, .app, .ai, .xyz, .online, .store, .shop) and most ccTLDs. See the full list in the AWS documentation.