<!--
ROBOTS ON PAYROLL / THE VAULT
What this is: the decision guide for taking your first payments with zero payment code (Stripe Payment Links vs Lemon Squeezy vs Gumroad).
How to use it: download this file and give it to your AI (Claude, ChatGPT,
Cursor, Lovable chat) as a reference. Say: "Use this as my playbook for [task]."
Latest version + full guide: https://robotsonpayroll.com/resources/get-paid-kit
-->

# Get Paid Without Touching Webhooks: The Payment Links Guide

You can charge real money this afternoon without writing a single line of payment code. Both Stripe and Lemon Squeezy will give you a hosted checkout page (a payment page they run on their servers, so you never touch card data) behind a plain URL. You paste that URL behind a button on your site. Done.

This guide covers the one decision that matters (Stripe vs Lemon Squeezy), the fee math on a real $29 product, the click-by-click setup, and the hard rule for when a link stops being enough.

## The one-paragraph version of "merchant of record"

When you sell to someone in Germany, the EU wants VAT (their sales tax) collected on that sale. Sell to someone in Texas, Texas may want sales tax. Someone has to register, collect, and file in every place you have customers. A **merchant of record** (MoR) is a company that legally becomes the seller of your product so that job lands on them, not you. **Lemon Squeezy is a merchant of record: it collects and remits global sales tax for you.** Stripe is not: it processes the payment, and tax registration and filing stay your problem (Stripe Tax will calculate and collect it for about 0.5% extra per transaction, but registering and filing in each jurisdiction is still on you). In practice: for digital products sold internationally by a solo builder, MoR means you never think about VAT. That convenience is what Lemon Squeezy's higher fee buys.

## The decision, honestly

- **Selling a digital product (template, ebook, prompt pack, license) to buyers anywhere in the world, and you want zero tax homework** → **Lemon Squeezy**. The MoR part is worth the extra ~2 points of fees at beginner volume.
- **Selling a simple SaaS subscription or one-time access, mostly US buyers, and you plan to grow into a real Stripe integration later** → **Stripe Payment Links**. Cheapest fees, and your customer data is already in Stripe when you graduate to the real integration.
- **Gumroad, in one line:** easiest audience-facing storefront and also the most expensive way to sell anything (10% + $0.50 platform fee, with card processing of 2.9% + $0.30 billed separately on top); fine for a first ebook, wrong for software.

## Fee math on a $29 product (verified July 2026)

| | Stripe Payment Links | Lemon Squeezy | Gumroad |
|---|---|---|---|
| Base fee | 2.9% + $0.30 | 5% + $0.50 | 10% + $0.50 plus 2.9% + $0.30 processing |
| Fee on $29 | $1.14 | $1.95 | $4.54 |
| You keep | **$27.86 (96.1%)** | **$27.05 (93.3%)** | **$24.46 (84.3%)** |
| Sales tax / VAT | Your problem (Stripe Tax add-on ~0.5%/txn calculates, you still file) | Handled, they are the merchant of record | Handled, MoR since Jan 2025 |
| Surcharges to know | +1% international cards, +1% currency conversion, $15 per dispute | +1.5% international cards, +1.5% PayPal, +0.5% on subscription payments | 30% (not 10%) on sales via their Discover marketplace |
| Monthly fee | $0 | $0 | $0 |

The honest read: Stripe leaves you about $0.81 more per $29 sale than Lemon Squeezy. If you sell 100 copies, that is $81. One hour with a VAT registration form costs you more than $81 of your life. **Below roughly $2,000/month in international digital sales, pick on convenience, not on fees.**

## Creating your first Stripe Payment Link, click by click

1. Go to **dashboard.stripe.com**, create an account, and complete activation (business details plus the bank account for payouts). Sole proprietor with your own name is fine.
2. Make sure the **Test mode** toggle (top right) is ON for your first run.
3. In the left sidebar, click **Payment Links**, then **+ New** (top right).
4. Under Product, click **+ Add new product**. Name it, set the price ($29), and pick **One time** or **Recurring**. Click **Add product**.
5. Optional but worth 30 seconds: under **After payment**, choose **Don't show confirmation page** and paste your own thank-you page URL (the prompt in this kit builds that page). Under **Options**, turn on **Allow promotion codes** if you want launch discounts.
6. Click **Create link**. Copy the `buy.stripe.com/...` URL. That URL is your checkout.
7. Open it and pay with the test card **4242 4242 4242 4242**, any future expiry, any CVC. You should land on your thank-you page and see the payment under **Payments** in the dashboard.
8. Flip Test mode OFF, repeat steps 3 to 6 once in live mode (test links do not work live), and put the live URL behind your buy button.

**Lemon Squeezy version, condensed:** app.lemonsqueezy.com, create a store, **Products, + New product**, set name and $29 price, publish, then click **Share** on the product for a hosted checkout URL. Same idea, plus tax handled. Enable **License keys** on the product if you want the download-gating variant in this kit's checkout prompt.

## Where the money actually lands

Both platforms pay out to your bank account automatically. Stripe: typically 2 business days after the charge, daily rolling payouts, first payout can take 7 to 14 days. Lemon Squeezy: payouts around the 15th of the following month, free to US banks, 1% to international banks. Neither is instant. Do not panic when day-one revenue is not in your checking account by dinner.

## What breaks most often

- **Your live link 404s or says the product is unavailable:** you copied the test-mode link. Create the link again with Test mode OFF.
- **The 4242 card is declined:** you are in live mode. Test cards only work in test mode.
- **Buyer says they paid but you see nothing:** you have two Stripe accounts, or you are looking at test mode. Check the mode toggle first, it is the cause 9 times out of 10.
- **"Do I owe tax?" panic:** if you picked Lemon Squeezy, no action, that is the point. If you picked Stripe, relax, then read up on tax registration thresholds; most places do not require anything until real revenue.

## The hard rule: when a link stops being enough

A Payment Link is a cash register with no wiring into your app. Your app does not know who paid. You will verify purchases manually (checking the dashboard, emailing access). That is completely fine until one of these becomes true:

1. **Subscriptions with in-app gating.** The moment access must switch on and off automatically when someone subscribes, cancels, or fails a renewal payment, you need a real integration with webhooks (code that listens for Stripe to call your app back).
2. **Usage-based billing.** Charging by seats used, API calls, or credits requires your app to report usage to the billing system. Links cannot do this.
3. **Per-seat / team plans.** "Admin invites 4 teammates, price updates" is integration territory.
4. **Volume.** When manually verifying purchases costs you more than an afternoon a week, the integration pays for itself.

When any of those hits, graduate to the Stripe Afternoon kit (robotsonpayroll.com/resources/stripe-afternoon). It is the full integration, webhooks included, built by prompt.
