Your checkout is served from one of three places. Which one a shopper lands on depends on your store’s domain setup — you do not configure it directly, and every one of them is the same checkout with the same branding, the same payment providers and the same settings. Don’t have the product in your store yet? Open Orders → Accept a payment (also on Home and in the Orders header). Type what you’re selling and the price, choose One-time or Recurring (with how often to charge), say whether you ship something, and select Create checkout link. A preview of the checkout shows on the right as you type. You get the buy link to copy or open, and for one-time prices the code to put the checkout on your own website. The product is created for you behind the scenes as a draft (or live in your store if you turn on Also sell it in my online store), so you can edit it later in Products. Recurring links work as links only: the website code can’t charge every month yet. A buy-now permalink — the link you paste into an ad, an email, a bio page:
This link has the same shape wherever your store is served. Only the domain changes. That is deliberate: a permalink is the one checkout URL a human reads, types and pastes, so it must not change shape because your store moved onto its own domain. Copy it from Products → your product → Checkout link and the dashboard fills in the right domain for you. A checkout session — the URL a shopper’s address bar settles on once they have a cart:
You never build these by hand. They are created when a cart is made, and they are what appears in abandoned-cart recovery emails.
Do not construct a checkout URL by joining a domain to a path yourself. The session path is not the same on every host, and a hand-built link is the kind of mistake that only shows up as an ad running for two weeks against a dead URL. Use the link the dashboard gives you, or ask the API: GET /api/v1/checkout/cart/origin?storeId=<uuid>, which returns templates you substitute a token into.
Nothing you have already sent stops resolving. Permalinks running in live ad campaigns, recovery emails already in inboxes, and links inside released mobile app builds all continue to work — links on checkout.platformdtc.com are forwarded to the current address, carrying their query string with them so attribution and payment returns are unaffected. That includes links to your customers’ accounts, which now live at platformdtc.com/checkout (see Customer accounts and sign-in).

Wallets and your domain

Apple Pay, Google Pay, Link, Amazon Pay and Klarna only appear on a host that has been registered with the payment provider — per exact hostname, with subdomains counting separately. PlatformDTC registers each checkout host for you, and a store is only moved onto a new one once that registration is confirmed live. If your express wallet buttons are not showing, check Settings → Domains: an unregistered host produces no error anywhere, it simply renders fewer payment options.

Reserved paths on your own domain

If checkout runs on your custom domain, these prefixes belong to the checkout and cannot be used for a landing page or a custom route:
  • /checkouts/
  • /cart/<something> — your storefront’s own /cart page is unaffected
  • /api/v1/
See Domains for how the primary domain is chosen.