Checkout
How to add checkout to a sales page you built with AILinks to tools are affiliate links — we may earn a commission at no extra cost to you.
Building the page is the easy part now. You describe what you want, Claude or Codex writes it, and twenty minutes later you have a sales page sitting in a file on your desktop.
Then you hit the wall. It's a file. It has a button that doesn't do anything. And there's no obvious next step between "I have an HTML file" and "someone can pay me."
Here's what actually has to happen, the free way to do it, and the specific places it breaks.
You need two separate things
People conflate these, which is why the problem feels bigger than it is.
Somewhere to host the file so it has a public web address instead of living on your laptop.
A way to take money so the button charges a card and tells you about it.
They're unrelated problems with unrelated solutions. You can solve both for free, in about twenty minutes, if you're willing to do the wiring yourself.
The free route: host it
Static pages — a single HTML file with its CSS and images — can be hosted at no cost. Netlify, Cloudflare Pages, Vercel and GitHub Pages all do it.
Netlify has a drag-and-drop deploy that's the fastest of them: you drop the folder onto the page and it hands you back a live URL in seconds, no account setup required to start, no command line, no build step. Cloudflare Pages is comparable and has more generous bandwidth if a page ever takes off.
You'll get a URL like something-random-123.netlify.app. Pointing your own domain at it is a settings screen and a DNS record.
That's hosting solved. It genuinely is that easy, and anyone telling you it requires a platform subscription is selling you something.
The free route: take payment
This is where most people expect to need a store, a funnel builder, or a developer. You don't.
Stripe Payment Links are the shortest path. In the Stripe dashboard you create a product, set a price, and Stripe generates a URL. Paste that URL as the href on your button. Done — that button now leads to a fully hosted, card-accepting checkout page with your product name and price on it.
No code, no API keys, no webhooks. Stripe takes its processing fee per transaction and there's no monthly cost to have it sitting there.
PayPal has an equivalent in its hosted button code, and it's worth having both if your audience skews toward people who don't like handing over card details.
At this point you have a live page with a working buy button, for the cost of nothing. For a lot of people that is genuinely where this should stop.
The three things that break
Here's what nobody mentions until you're already selling.
Apple Pay needs your domain verified. Card payments work immediately, but Apple Pay and Google Pay don't just appear. Apple requires you to prove you control the domain, which means hosting a specific verification file at a specific path on your site. On a static host that's doable but fiddly, and until it's done, mobile buyers don't see the one-tap option they expect. On mobile traffic — which is all of your traffic, if it's coming from Reels — that's a real conversion hit, not a cosmetic one.
Your pixel can't see the purchase. This is the big one and it's almost always missed. With a Payment Link, checkout happens on Stripe's domain, not yours. Your Meta Pixel lives on your page. It can't fire on a page you don't control, which means it never records a purchase event.
The consequence: Meta doesn't learn which ads produce buyers. It only sees clicks. You're optimizing against a signal that isn't the one you care about, and you'll conclude ads don't work when what's actually happening is that you never told the platform when they did.
The fix is to set a redirect from Stripe back to a thank-you page on your own domain and fire the purchase event there. It works. It's also a step most people don't know exists, and it needs redoing for every product.
Tax is yours to handle. Stripe processes payments; it doesn't decide what you owe. Selling digital products across borders means VAT and sales tax obligations that are genuinely complicated. Stripe has a tax product that costs extra. Platforms that act as merchant of record — Gumroad, Lemon Squeezy, Paddle — take that liability on themselves in exchange for a larger cut. That trade is worth understanding before you're at volume, not after.
What we use instead
We use Purpleturret for this.
You upload the page you built and it's live with a working checkout — the hosting and the payment side arriving together rather than as two projects you wire to each other. Cards, Apple Pay, Google Pay, PayPal, Venmo and Pay Later are all available without the domain-verification detour. Meta Pixel and Google Analytics are built in, which means the purchase event fires on the checkout itself and your ad platform actually learns which creative sold something.
The checkout is deliberately plain. No upsell sequence, no order bumps, no funnel steps — just a fast page that takes money.
The honest limitation: this is built for single offers, not a store. No inventory, no product variants, no shipping rules, no customer accounts. If you're selling one thing — a digital product, a course, a service package — that constraint is the point, and you'll move faster without those features. If you need a catalogue, you want Shopify and this is the wrong tool.
The other honest thing: if you can set up a Stripe Payment Link and you don't care about Apple Pay or pixel-accurate ad tracking, the free route above will serve you fine. What you're paying for here is the wiring, and whether that's worth it depends entirely on whether you're running paid traffic. If you are, the pixel problem alone justifies it. If you're not, start free.
The order that works
Build the page with whatever AI tool you like. Get it live somewhere — free host or otherwise — before you perfect it. Put one working payment button on it. Send traffic. Fix the page based on what people actually do, not what you imagine they'll do.
The most common failure isn't a bad checkout. It's spending three weeks on a page that never went live.
Before this: a page with a checkout still needs someone to visit it. If you're starting from nothing, that's a list problem — see how to find business emails from Google Maps, Instagram and LinkedIn.