Lovable is a great way to build a good-looking landing page for an e-book, course, template or guide. The part that usually goes wrong is everything after the click: payment, delivery, emails and what happens when someone shares the download link.
This guide walks through a setup that works and that you can test safely before taking real money.
Pick a payment option
- Lovable's built-in payments. You describe what you sell in chat and Lovable creates the checkout. It is designed for digital products and software, and it handles a lot of setup for you.
- Your own Stripe account. You connect a Stripe account you own with a restricted API key, and Lovable builds the checkout flow through chat. This works on any Lovable plan and keeps customers and payouts in your own Stripe dashboard.
- Stripe Payment Links. The simplest option: create a product and a Payment Link in Stripe and use it as the button URL. Good for one product, weaker for delivery and order tracking.
For most small digital stores I recommend your own Stripe account with a proper checkout and a delivery step.
Setup steps
- Create the product in Stripe in test mode, with the price and currency you want.
- Connect Stripe in Lovable and ask for a one-time checkout for that product, with a success page and a cancel page.
- Store the file privately. Upload it to private storage (for example a private Supabase storage bucket), not the public folder of your project.
- Deliver after payment. Use a Stripe webhook to record the paid order, then send the buyer an email with a download link that expires after a set time.
- Test end to end with Stripe's test card numbers: pay, receive the email, download the file, then try the link again after it expires.
- Switch to live mode only after the test order works, then do one real purchase yourself and refund it.
Protect the file
The most common mistake I see on AI-built stores is a success page that links straight to a public file. Anyone who finds that URL can download the product without paying, and it can end up in search results.
- Keep product files in private storage.
- Generate a signed link only after Stripe confirms the payment.
- Make the link expire, for example after 24 hours.
- Never rely on the success page alone: it can be opened without paying.
Launch checklist
- Custom domain connected and the Stripe webhook updated to that domain.
- Order confirmation email arrives and does not land in spam.
- Refund policy, terms and privacy pages linked in the footer.
- Checkout tested on mobile.
- Analytics records purchases so you can see which traffic sells.
FAQ
Do I need a paid Lovable plan to use Stripe?
Connecting your own Stripe account works on any Lovable plan. You still need a paid plan to use your own domain.
Why does my Stripe checkout not work in the preview?
Webhooks and redirects need a real published URL. Publish the project and test on the live address.
Can I sell physical products the same way?
Yes, but shipping, stock and taxes need extra work. For a real product catalogue, Shopify or WooCommerce is usually the better fit.
How do I stop people sharing the download link?
Use private storage and short-lived signed links created after payment, instead of a public file URL.
Want your store selling this week?
I set up Stripe checkout, secure delivery and order emails on Lovable, Base44 and v0 sites, tested in test mode before going live.
See the Sell Online package ↗


