WWooshPayment docs
Account & Billing

Custom domain (checkout.yourstore.com)

Map the WooshPayment checkout to your own domain (checkout.yourstore.com) instead of the default. Available to all merchants, no plan gating.

3 min read

TLDR: the default is {slug}.wooshpayment.com. You can replace it with checkout.yourstore.com by adding a CNAME to your DNS. Automatic SSL via Vercel. Available to all merchants, no plan gating.

Why do it

  • Trust โ€” customers see your domain during payment, not a third party
  • Brand consistency โ€” the browser tab shows your URL
  • Perceived security โ€” some customers refuse to pay on unknown domains

The downside: 5 minutes of DNS setup + DNS propagation on the registrar side.

Prerequisite

  • DNS access to your domain (GoDaddy, Cloudflare, Aruba, Namecheap, etc.)
  • Decision: the subdomain you want (we recommend checkout, but pay or store work too)

Do not use the apex domain (yourstore.com) or www.yourstore.com: those must stay on your Shopify/Woo. Use a dedicated subdomain.

Step-by-step setup

1. Add the domain in WooshPayment

  1. Dashboard โ†’ Settings โ†’ "Custom checkout domain"
  2. The input has a fixed checkout. prefix (non-editable gray badge): just type the root of your domain (e.g. yourstore.com)
  3. Click "Add domain"
  4. An amber box appears with the DNS record to add to your provider

If you accidentally paste https://checkout.yourstore.com/, the form auto-normalizes to yourstore.com. If you enter only the apex without a subdomain (yourstore.com), the backend turns it into checkout.yourstore.com.

2. Add the CNAME to your DNS

Record to add:

FieldValue
TypeCNAME
Name / Hostcheckout (just this part, not the full domain)
Value / Targetcname.vercel-dns.com. (with trailing dot if the provider accepts it)
TTL600 (10 min) or the provider's default

Quick examples:

GoDaddy: Domains โ†’ DNS โ†’ Add โ†’ Type CNAME, Name checkout, Value cname.vercel-dns.com., TTL 1 hour.

Cloudflare: DNS โ†’ Add record โ†’ CNAME, Name checkout, Target cname.vercel-dns.com, Proxy status DNS only (gray) โ€” orange/proxied breaks SSL.

Aruba: DNS Panel โ†’ DNS Zone Management โ†’ add CNAME as above.

Namecheap: Domain List โ†’ Manage โ†’ Advanced DNS โ†’ Add new record โ†’ CNAME, Host checkout, Value cname.vercel-dns.com., TTL Automatic.

3. Verify in WooshPayment

Go back to Dashboard โ†’ Settings โ†’ "Custom checkout domain" โ†’ click "Verify DNS".

Typical propagation times:

  • 5-30 minutes if your DNS TTL is low
  • Up to 24 hours worst case

When it switches to "Verified" (green badge):

  • DNS resolves correctly to Vercel
  • Let's Encrypt SSL issued automatically
  • HTTPS enforced
  • Your checkout is already live on checkout.yourstore.com
  • Apple Pay attempts auto-registration of the new domain on your Whop (see Apple Pay)

4. No action on the script tag

The script tag installed on Shopify does NOT change. The WooshPayment backend automatically resolves the checkoutUrl to the custom domain when the state is verified.

Limitations

  • HTTPS only โ€” no HTTP. Vercel always enforces HTTPS.
  • No path-based โ€” you cannot map yourstore.com/checkout. It must be a dedicated subdomain.
  • No wildcard โ€” one domain = one specific subdomain.
  • CAA records โ€” if your DNS has a CAA restricting CAs, add letsencrypt.org as an allowed CA.

Removal

Dashboard โ†’ Settings โ†’ "Custom checkout domain" โ†’ "Remove domain" button. The checkout reverts to {slug}.wooshpayment.com immediately. Also remove the CNAME from your DNS to avoid orphan pointers.

Troubleshooting

Verification stays in "Pending" for over 1 hour

dig CNAME checkout.yourstore.com
  • Expected: ;; ANSWER SECTION: checkout.yourstore.com. 600 IN CNAME cname.vercel-dns.com.
  • If you see no CNAME answer: the record hasn't propagated. Check the DNS panel and the previous TTL of the record.
  • If you see a different pointer (e.g. Shopify Inc.): you added the CNAME to the wrong DNS zone.

"SSL handshake failed" error

  • Likely a restrictive CAA record. Add 0 issue "letsencrypt.org".
  • Or you're using Cloudflare with proxy ON โ†’ switch to "DNS only".

Customer still sees {slug}.wooshpayment.com

  • Open the checkout in incognito: browsers cache 301s
  • Check in the dashboard that the status is "Verified" (green), not "Pending"

Apple Pay doesn't work on the custom domain

The Whop auto-registration kicks in at verified. If the Apple Pay button doesn't appear on Safari after a few minutes, go to your Whop dashboard โ†’ Settings โ†’ Apple Pay โ†’ manually add checkout.yourstore.com. See Apple Pay.