Anticode Open builder

How to sell digital products on your own website, without building a shop

Keep the sales page on your own site and hand the money, the tax and the file to a service built for it. A hosted checkout from Gumroad, Lemon Squeezy or Stripe takes the payment; the first two also deliver the download and act as the seller for tax purposes. Your site's job is to explain the product well and link to that checkout.

Updated · By the Anticode team

Three jobs, and who should do each

Selling an ebook, a template pack, a preset bundle or a recorded workshop involves three separate jobs. Persuading happens on your sales page: what the product is, who it suits, what's inside, a sample. Charging means taking the card, adding the right tax and sending a receipt. Delivering means giving the buyer the file, and only the buyer. Your website is good at the first job. The second and third are where small sellers get into trouble when they try to do them by hand.

The tax question decides the provider

Digital goods are often taxed where the buyer lives, not where you live, so a single sale to another country can carry a tax obligation. A merchant of record is a company that sells the product to the buyer on your behalf and takes on that tax responsibility. Gumroad's pricing page says it has acted as merchant of record since 1 January 2025 and handles sales tax collection and remittance. Lemon Squeezy describes the same model: the merchant of record takes responsibility for the purchase, including collecting sales tax.

A plain Stripe payment link is different. You are the seller. Stripe Tax on Payment Links can calculate and collect tax, but only where you have a tax registration; elsewhere it calculates zero. Registering and filing remain your job, unless you use Stripe's separate Managed Payments option for digital products. This isn't tax advice: check your own position with an accountant before you pick.

How the common routes split the work
GumroadLemon SqueezyStripe payment link
Who sells to the buyerGumroad, as merchant of recordLemon Squeezy, as merchant of recordYou
Tax on cross-border salesHandled by GumroadHandled by Lemon SqueezyCalculated where you're registered; you file
File deliveryHosted and sent by GumroadFiles attached to the product, available after purchaseNot included: redirect or automate it yourself
Licence keysAvailableOptional per variantNot included

Fees differ and change, so compare them on each provider's own pricing page on the day you decide. Payout timing and the countries they pay out to matter as much as the percentage.

Set it up in order

  1. Finish the product file first. Export the final PDF, ZIP or video, name it clearly (garden-planner-2026.pdf, not final-v3.pdf) and open it on a phone to check it reads there.
  2. Create the product at the provider. Add the name, price, currency, a short description and the file. For Stripe, create the payment link and decide how delivery will happen (see below).
  3. Set the after-purchase step. Gumroad and Lemon Squeezy show the download and email it. With Stripe, the confirmation page can show a custom message or redirect to a URL on your site.
  4. Write the sales page. Lead with the outcome, list what's in the file (page count, formats, file size), show a real sample page, and state the refund terms before the button.
  5. Point every buy button at the checkout link. There's one link for all of them: a product page if you sell one thing, a product list if you sell several. Use the same link on the home page, the product page and any email.
  6. Buy it yourself. Use test mode first, then make one real purchase and refund it. Check the receipt, the download and the email on a phone.

Delivering files through Stripe without leaking them

The common shortcut is to redirect buyers after payment to a page with a download link. Anyone who learns that address can skip the checkout, and links get shared. If you use a Stripe payment link, prefer an automation that emails the file after Stripe reports the payment, through a tool such as Zapier or your own code listening for the checkout.session.completed event. If that sounds like more than you want to run, that's the strongest argument for a merchant of record, which delivers the file for you.

Selling digital products from an Anticode site

Anticode builds the sales page; the checkout belongs to your provider. Add your checkout link under Connectors as a Payment link (Stripe, PayPal, Gumroad, Lemon Squeezy, Shopify or Whop are supported), and the site's buy and pricing buttons open it in a new tab. Card details only ever go to the provider. The sell digital products website page covers what the site itself includes.

There's one payment link per account, so every buy button on every site in that account opens the same checkout. If you sell several downloads, link to a product list at your provider (a Gumroad profile or a Lemon Squeezy store page), and let buyers choose there. On-site pay pages exist in Anticode's code but are switched off, so plan around payment links.

Mistakes that cost sales

  • A price on the page that differs from the checkout. Change both together, or say "see price at checkout".
  • No preview of the contents. People buying a file they can't hold want a table of contents or a sample page.
  • Forgetting the buyer on a phone. A ZIP of large files is awkward to open on a phone; say what device it suits.
  • No refund wording. Digital goods often have different cancellation rules; see the refund policy guide.

Limits

Anticode doesn't host files for sale, deliver downloads, generate licence keys or handle tax. It has no cart for several products and no stock or shipping handling. Those are your provider's jobs. Prices and plan details for Anticode itself are on /pricing.

Questions people ask

Do I need a shop platform to sell one ebook?

No. A sales page on your site plus a hosted checkout link is enough for one or a handful of products. A shop platform helps once you have many products, bundles or a catalogue to browse.

What is a merchant of record?

The company that legally sells the product to the buyer. When Gumroad or Lemon Squeezy is the merchant of record, they collect and pay the sales tax, and you receive the proceeds after their fees.

Can I embed the Gumroad or Stripe widget on an Anticode page?

No. Published pages run no scripts and allow no embedded frames, so the button links to the checkout instead of opening an overlay.

Sources

  1. Gumroad pricing (merchant of record and tax), checked
  2. Gumroad Help Center: License keys, checked
  3. Lemon Squeezy Docs: Merchant of record, checked
  4. Lemon Squeezy Docs: Adding products, checked
  5. Stripe Docs: Automatically collect tax on Payment Links, checked
  6. Stripe Docs: After a payment link payment, checked