How to Take Payments Before You Write a Line of Code: The Pre-Sale Validation Playbook
The pre-sale validation playbook: take real payments before building anything. Stripe Payment Links, Gumroad, traffic plan, kill criterion.
A founder we'll call N. spent four months building. Polished onboarding, three integrations, a Stripe checkout that actually worked. Launch day: 11 paying customers. He still tells the story like the launch was the problem.
It wasn't. The wrong four months were.
The viral Reddit framing has been right the whole time: take payments before you write a line of code. A Stripe Payment Link is twelve minutes of setup. A €5 refundable deposit beats a thousand free waitlist signups for predictive power. And the founders who run this test cleanly walk into week two either with money in their account or with permission to kill the idea — neither of which is on the table after four months of building.
This is the tactical playbook. When to run a pre-sale, what to charge, what to wire it to, what to ship if it wins, what to do if it bombs. We've watched dozens of founders run this exact sequence; the patterns below are the ones that hold up.
Why pre-payments are the highest signal you can manufacture
Free signups are flattering. They are not predictive. The gap between "join the waitlist" and "enter your card details" is the entire validation question, and most founders never close it before they start building.
Three things make a pre-payment qualitatively different from any other pre-MVP test:
- It carries real friction. Filling in card details is the moment polite curiosity drops out. The people who push through are the ones whose problem actually hurts.
- It produces a number you can defend. "412 emails on the waitlist" can mean anything. "11 strangers paid €29 in 4 days" can mean exactly one thing.
- It's auditable by anyone. Investors, co-founders, your accountability buddy — they all read a Stripe dashboard the same way. There's no narrative slack.
Hustle Fund's Brian Nichols is on the record about why this matters: "A list of 500 people with a 40% conversion rate is infinitely more valuable than 10,000 names with a 2% conversion rate." The deposit-gated version of that sentence reads even sharper. Twenty paying strangers tell you more than 8,000 emails ever will.
The best counter-argument we hear is "but I'd lose great prospects who weren't ready to pay yet". Maybe. You'd also lose the prospects who were never going to pay at all — and they are, in our experience, the silent majority of any free waitlist. Trading fake leads for fewer real ones is the trade.
The 12-minute Stripe Payment Link setup
The mechanics are unglamorous on purpose.
- Stripe account, in test mode for the first hour, switched to live before launch. Free.
- Products → New Product. Name it whatever the page calls it. One price tier to start.
- Payment Links → New Payment Link → pick the product. Stripe gives you a URL.
- Customise the success page: short thank-you, what happens next, your reply email.
- Toggle "Allow promotion codes" if you plan to test pricing variants.
- Copy the URL. Paste it into the CTA button on your one-page pitch.
Stripe charges 1.5% + €0.25 on EU cards through Payment Links — the lowest take rate in the indie validation stack. (Stripe pricing.) No code, no webhooks, no integration of any kind. The dashboard shows you live charges, refunds, and the full email of every buyer.
Twelve minutes is the realistic bound for someone who has used Stripe before. Sixty minutes if you're brand new to it and you watch one tutorial. Either way it is faster than writing the README for the MVP you were about to build.
Two close cousins are worth knowing. Gumroad charges 10% + $0.50 on direct sales but acts as merchant of record, so it handles VAT for you — useful if your buyers are spread across the EU and you don't want to register for VAT-OSS yet. Lemon Squeezy lands at 5% + $0.50 with similar VAT handling, slightly cleaner UI for digital-product launches. For a first cycle on EU traffic, Stripe wins on margin and speed; if you'd genuinely rather pay 10% to outsource the tax filing, Gumroad is the no-brainer alternative.
What to charge: €5, €29, or €99?
The price you ask for is a parameter of the test, not a guess at final pricing. Three tiers cover almost every pre-MVP validation we've seen run cleanly:
- €5 refundable deposit. B2C consumer products, novelty appeal, anyone who would resist a higher commitment without seeing the product. Conversion drops about 60–80% versus a free waitlist; the residual is signal you can take to the bank. Refund anyone who asks within 30 days, no questions.
- €29 pre-order at launch-day discount. Indie SaaS, productivity tools, niche utilities. The number is small enough to not require approval from anyone (a personal credit card decision, not a budget conversation), large enough that nobody pays it for politeness.
- €99 launch tier or €199 lifetime. Higher-ticket B2B-flavoured tools, dev tools, anything with a clear ROI you can articulate on the page. The buyers at this tier are pre-qualified by the act of paying — these are the customers you'll want to interview during the build.
A note on the €5 deposit: industry-reported figures from Lenny Rachitsky's newsletter put refundable-deposit waitlists at 3–5x higher conversion to paying customer than free waitlists, with much higher subsequent open rates. We haven't been able to point to a single named primary case study with full deposit-specific numbers — treat the multipliers as directional, not gospel. The reason it still works is the same reason every part of this playbook works: small friction, big filter.
If you can't decide between two tiers, run both. Two Payment Links on the same page, A/B by URL parameter or just run them sequentially for 7 days each. Price discovery is part of what the test is for.
The wedge before the link: the page itself
The Payment Link is the easy half. The page that earns the click is where most pre-sales actually fail.
Six elements, in this order, on a single page:
- Headline that names the result, not the feature. "Stop paying €10 a trade" beat "commission-free brokerage" for Robinhood. (Prefinery teardown.) "Cancel any subscription in one click" beats "subscription management dashboard" every time we've tested it.
- One sub-headline of context. Who it's for, why now. One sentence.
- Three concrete promises. Not features. Outcomes. "Get a full refund in under 60 seconds. Track every recurring charge in one inbox. Block re-signups automatically."
- One screenshot or short loop. Even if the product doesn't exist yet, a Figma mock or a 6-second loop carries more conviction than another paragraph of copy.
- The price, plainly. Not "starting at" or "from". The actual number. The buyer is filtering for whether €29 is reasonable in their model of the value — the only way to answer that is to show €29.
- The CTA button, wired to the Payment Link. "Pre-order for €29 (lifetime, refundable for 30 days)." Specific, reversible, low-pressure.
For the page itself, LemonPage is built for exactly this slot — page + Reddit/Meta/Google ads + measurement in one workflow, so you don't lose four hours wiring a builder to an ad account to a tracking pixel. Carrd Pro Lite at $9/year, Framer at $15/month, and Webflow are all valid alternatives if you'd rather build the page in one tool and the ad campaign in another. The page itself isn't the differentiator; what matters is that the wedge between the headline and the Payment Link is honest, fast, and built to be killed if the test bombs.
A key copywriting fact, often missed: landing pages written at 5th-7th grade reading level convert at 12.9% versus 2.1% for "professional-level" copy in the Unbounce 2024 SaaS dataset (41,000 pages, 464M visitors). Founders who write like McKinsey associates lose. Founders who write like they're explaining the product to their cousin win. Read your headline aloud to a non-technical friend before you ship; if their face does anything other than "ah, I get it", rewrite.
The traffic plan: €200, one channel, seven days
A pre-sale page with no traffic is a ghost. The minimum viable test is €150–300 of paid traffic at a single channel for one week.
The 2026 channel benchmarks we've seen hold up:
- Reddit. B2B SaaS CPC $0.50–$2.00. Best for indie SaaS, dev tools, niche communities. CPCs are 40–80% cheaper than LinkedIn.
- Meta. Median CPM $13.48 across all industries. B2B SaaS CPC around $10, CTR ~1.1%, CVR ~2.3%. Pricier per click; better for B2C and visual products.
- Google Search. B2B SaaS non-brand CPC $8.50–$14.00, climbing. Use only if your audience search-shops for the problem (dev tools, productivity SaaS, niche utilities).
Pick one. Spend €30/day for 7 days. Resist the urge to "diversify" across channels at this scale — €200 split three ways is statistical noise on every channel.
Five numbers come out of the run: CTR, landing-page CVR, cost per visitor, purchase conversion rate (the new one — what fraction of visitors actually pay), and a qualitative comment thread. The purchase CVR is the headline. CTR and CPV are diagnostics for whether the audience or the offer was the bottleneck.
For the wider playbook on how this test slots into a fundraising deck — including the DocSend stat that investors spend 80% more time on traction slides of decks that don't raise — see the deck-as-validation piece. The pre-sale dashboard is the spine of the slide.
What "good" looks like
Here are the thresholds we've watched separate "the test worked" from "the test bombed":
| Metric | Bombed | Useful | Strong |
|---|---|---|---|
| Landing-page CVR (visitor → paid) | under 0.5% | 1–3% | 3%+ |
| Cost per pre-order | over €60 | €15–€40 | under €15 |
| Refund rate within 30 days | over 50% | 10–25% | under 10% |
| Qualitative replies | None | A few "what's coming?" | Multiple "when can I have it?" |
The CVR thresholds are deliberately lower than free-waitlist benchmarks. Asking for €29 from a stranger is a much harder ask than asking for an email; a 1% paid CVR is doing real work.
A few founder-case anchors. Joel Gascoigne's original Buffer test ran a two-page site with a mid-page pricing reveal: 120 email signups across 7 weeks, 50 became users on launch day, first paying customer 4 days later. His own framing: "I didn't get ‘a billion signups’, in fact in a long 7 week period I only got 120 signups. But I spoke with a lot of those people during that time." Self-funded into product-market fit.
The harder, modern variant: Justin Welsh in 2024 spent $40.93 of paid promotion in 10 minutes and generated $7,500 of pre-sales for a product that didn't exist. Verified to his own newsletter; treat the exact ratio as illustrative, not industry benchmark — but the structure of the test is exactly the playbook above.
What to ship if the test wins
A successful pre-sale changes your job description. You now have buyers. The next four weeks are not "build the MVP"; they are "fulfil the promise to twenty named humans who paid".
Four moves, in order:
- Email every buyer within 24 hours. Personally, from a real address. Thank them, ask one specific question about their use case, give them a calendar link for a 20-minute call. The reply rate on this email runs 60–80% in our experience. These are the people who will tell you what to build.
- Ship a manual / concierge version of the product within 14 days. Even if the eventual product is fully automated, the first cohort gets a hand-delivered version. Spreadsheet, Loom video, white-glove onboarding. This is the concierge MVP pattern — Manuel Rosso ran it for Food on the Table for months before writing the matching algorithm.
- Build the smallest automation that survives the second cohort. Not the third, not the fifteenth. The next 20 buyers. Optimise for "ship in 4 weeks" not "scales to a million users".
- Re-run the same Payment Link test on a wider audience. Same page, same offer, larger budget (€500–1,000), to confirm the signal holds outside the original niche. If it does, you have a business. If it doesn't, you have a niche product — which is fine, but the math is different.
The trap to avoid here is using the pre-sale money to extend the runway for the wrong build. €580 from twenty buyers is not a budget for two months of polish; it is a deposit on a four-week sprint to fulfilment. Spend the money on the buyers, not the codebase.
What to do when it bombs
A clean bomb is more useful than an ambiguous win. Three rules for reading a failed pre-sale honestly.
First, define "bombed" before you start. We use: under 0.5% paid CVR after 1,000 visitors, OR zero pre-orders in 7 days at the planned price, OR refund rate over 50% within 30 days. Pre-commit one of those three thresholds in writing before the test goes live. The thing you're protecting yourself against is the post-hoc rationalisation that turns a 0.3% CVR into "we just need better ad creative".
Second, run exactly one iteration before final kill. Drop the price by 50%. Or change the headline to a sharper promise. Or swap the channel. One change, 7 more days of traffic, and a new dashboard. Both rules together — pre-committed kill criterion and pre-committed one iteration — stop the two failure modes (false-kill and rationalised-yes). Dan Kim's WWW fake-door campaign is the canonical case for iterate-rather-than-kill: 16.5% CTR with a 2.47% CVR didn't kill the concept, it surfaced a trust gap in the page.
Third, refund anyone who paid within 60 days, with a personal note. Even if you paid Stripe €0.25 per refund, the goodwill is worth more than the fee. The buyers you refund cleanly are the ones who'll buy your next idea — and there will be a next idea, because the founders who run this test are the founders who get many shots, cheaply.
A bombed pre-sale doesn't mean the idea is bad. It means the offer didn't land with this audience at this price. Decide whether to retry the audience, the price, or the angle — but decide. Don't wallow; the calendar is the only finite resource.
When the pre-sale playbook is the wrong test
Five situations where this playbook misleads:
- Enterprise sales above €10K ACV. A pre-paid €29 is not a meaningful test for a contract that costs a hundred times more. Use B2B cold ICP outreach instead — the booked-call rate is the equivalent metric.
- Regulated industries. A Stripe pre-order for a banking app does not unlock a banking licence. Validation evidence here is regulatory progress, not CVR.
- True network-effect products. Marketplaces, social networks, multi-sided platforms. The product's value emerges only after several interactions; a single pre-order can't capture that. Validate one side of the marketplace via concierge first, then ship a thin MVP.
- Pure consumer apps at €5/month. The Stripe fee + the cognitive cost of a pre-order CTA is bigger than the signal. Run a free-with-tracking page first; switch to pre-sale only if the audience clearly won't pay €5/month for a free-trial signup.
- No existing audience. A pre-sale page with zero visitors is a ghost. Pair with a paid-traffic smoke test first; the pre-sale only works on top of a traffic source.
For the wider risk-profile question — which artifact validates which kind of risk — see 7 ways to validate a product idea without an MVP. The pre-sale is method 2 there, and it pairs cleanly with method 1 (paid-ad smoke test) for almost every consumer SaaS in 2026.
Recap
A Stripe Payment Link is twelve minutes of setup. €200 of single-channel paid traffic is one weekend. The thresholds for "this is real" are public, and the kill criterion is non-negotiable.
If you've been building for two months without asking anyone to pay, stop. Spin up a Payment Link this Saturday. Ship €30/day of Reddit ads at it on Sunday. By next weekend you'll know whether to keep building or kill cleanly — and either answer is worth more than another month of speculative code.
Run the pre-sale test on LemonPage — page, ads, and measurement in one workflow, so the twelve-minute Payment Link doesn't get buried under three hours of plumbing. We built it because the math of pre-sale validation only holds when running tests stays cheap.
Stop confusing motion with progress. Take payments first. Build only what survives.
FAQ
Is taking pre-payments before the product exists legal?
Yes, in most jurisdictions, with two conditions: the page must be honest about the product not yet shipping, and refunds must be available on request. EU consumer law gives buyers a 14-day right of withdrawal on most digital goods; honour it without argument. Stripe's terms allow pre-orders explicitly. The legal risk lives in misrepresenting what was sold or refusing refunds — not in selling something that ships next month.
What's the minimum amount of traffic needed for a pre-sale test to be meaningful?
Around 1,000 visitors at the page is the floor for a single-tier test. Below that, you can't tell a 0.3% CVR (bombed) from a 1.2% CVR (useful) reliably — the noise dominates. €150–300 of paid traffic from a single channel typically lands in that 1,000–2,000 visitor range over 7 days.
Should I refund pre-orders if I decide to kill the idea?
Yes, immediately and personally. The 1.5% + €0.25 Stripe takes on the original charge is non-refundable, but the principal is. Email every buyer with a short, honest "we decided not to build this; here's your refund" note. Founders who do this build a reputation that compounds across attempts; founders who ghost the buyers don't get a second test.
Can I run this with Gumroad or Lemon Squeezy instead of Stripe?
Yes, and you should if you want VAT handled for you. Gumroad takes 10% + $0.50 as merchant of record; Lemon Squeezy takes 5% + $0.50 with similar handling. Stripe's 1.5% + €0.25 is the lowest take rate, but you handle VAT yourself. For a first cycle in EU traffic with under €10K of pre-orders, the difference is negligible — pick the one whose UI you're already comfortable in.
How is a pre-sale different from a refundable-deposit waitlist?
A €5 refundable deposit is a softer commitment — the buyer expects the money back if they change their mind, and conversion is closer to 1–2% of visitors. A €29 pre-order is the real thing — the buyer expects to receive the product, and conversion runs 0.5–1.5%. The deposit filters for interest; the pre-order filters for willingness to pay. Both are useful; the choice depends on how confident you are about the price you'll eventually charge.
What if the test wins but I can't actually build the product in time?
Refund quickly and apologise. Better still, pre-empt this by under-promising on the timeline — "ships within 90 days, full refund if it doesn't" gives you slack and signals seriousness. Founders who pre-sell a January launch and ship in March without explanation lose all the goodwill that made the test work in the first place.