Stripe vs Lemon Squeezy / Paddle
A thousand subscribers at $20 a month pay $1,520 on an assembled Stripe stack and $1,500 on a merchant of record. The vendor everyone calls expensive is the cheaper one at the price point most SaaS products actually charge.
Below roughly $21 per charge, or on any card that is not domestic, the merchant of record is the cheaper invoice, not the expensive one. Above it, the assembled Stripe stack wins on price and only on price: the moment you are not doing the registrations and filings yourself, the two points you saved are paying for work you still owe.
- The sticker price is one of four meters you will pay
- A merchant of record sells a different invoice, not a cheaper one
- At $20 a month the assembled stack loses by $20
- International-card fees remove this modeled crossover
- What the extra points buy, and what they take
- Where each one breaks
- Cost arithmetic
- Decision matrix
- Migration path
- FAQ
At a glance
| Dimension | Stripe 3.6% + 80¢ assembled | Lemon Squeezy / Paddle 5% + 50¢ |
|---|---|---|
| Product foundation | Payments, Billing and Tax as separate line items | Checkout, subscriptions and tax remittance as a single fee |
| Pricing model | 2.9% + 30¢ domestic · +1.5% international · Billing 0.7% · Tax 50¢ per transaction | 5% + 50¢ per transaction on both · $0 per month · custom pricing under $10 |
| Hosting and deployment | No (Stripe-hosted checkout and portal) | No (both act as the merchant of record) |
| Runtime and integration | You are the seller of record: registrations, filings and penalties are yours | They are the seller: tax collection and remittance sit with them, not you |
| AI-related capabilities | Radar fraud screening included; Smart Disputes takes 30% of a recovered dispute | Fraud screening and buyer support are inside the 5%, not priced separately |
| Lock-in risk | Low on card data, high on tax history: filings stay in your name | Medium: subscriptions move through a paid migration, and cards do not transfer |
| Vendor | Stripe → | Lemon Squeezy / Paddle → |
1. The sticker price is one of four meters you will pay
Stripe's pricing page prints one number: 2.9% + 30¢ for a domestic card. A subscription business pays that plus three more.
| Meter | Price | Applied when |
|---|---|---|
| Domestic card | 2.9% + 30¢ | every successful charge |
| International card | +1.5% | the card is issued outside your country |
| Currency conversion | +1.5% | the charge is not in your settlement currency |
| Billing | 0.7% of Billing volume | subscriptions, processed on or off Stripe |
| Tax Basic | 50¢ per transaction | you are registered to collect there |
| ACH direct debit | 0.8%, $5 cap | bank debits |
| Dispute | $15.00 | each chargeback received |
None of those lines is hidden. Each one has its own page, which is how a 2.9% product becomes a 3.6% + 80¢ product by the end of the month.
2. A merchant of record sells a different invoice, not a cheaper one
Lemon Squeezy and Paddle both publish 5% + 50¢ per transaction and $0 per month. They also publish the same sentence in different words: they are the seller.
That moves who owns the tax question. On Stripe you are the merchant, so the VAT number, the filing deadline and the penalty for missing it are yours. On either merchant of record the receipt carries their name and you receive a net payout.
- Lemon Squeezy: 5% + 50¢ per transaction, $0 monthly, and sales tax or VAT collection where it is the merchant of record, with the liability taken on.
- Paddle: 5% + 50¢ per Checkout transaction, no monthly fee, and custom pricing for products under $10.
- Neither fee moves when you add a country to your tax map. That is the product.
The question is not which percentage is smaller. It is whether the extra points cost less than the paperwork you would otherwise do yourself.
3. At $20 a month the assembled stack loses by $20
Take 1,000 subscribers at $20, all domestic cards, $20,000 of volume, and assume you are registered to collect tax everywhere you sell. If you are not, the Tax line is smaller and the Stripe stack cheaper.
| Line | Assembled Stripe stack | Merchant of record |
|---|---|---|
| Payments | 2.9% × $20,000 = $580, plus 1,000 × 30¢ = $300 | — |
| Billing | 0.7% × $20,000 = $140 | — |
| Tax Basic | 1,000 × 50¢ = $500 | — |
| Single fee | — | 5% × $20,000 = $1,000, plus 1,000 × 50¢ = $500 |
| Total | $1,520 | $1,500 |
Move the price to $100 and keep the same $20,000: Stripe bills $580 + $140 + $160 = $880, the merchant of record bills $1,000 + $100 = $1,100. The crossover is one equation: 3.6% × P + 80¢ = 5% × P + 50¢, so 1.4% × P = 30¢, and P = $21.43.
4. International-card fees remove this modeled crossover
1.5% for an international card turns 3.6% + 80¢ into 5.1% + 80¢. The modeled gap against 5% + 50¢ is 0.1% × P + 30¢, always positive. Correction: the earlier $300 crossover used the wrong sign.
| Card | Stripe stack | Merchant of record | Cheaper |
|---|---|---|---|
| Domestic | 3.6% + 80¢ | 5% + 50¢ | Stripe above $21.43 |
| International | 5.1% + 80¢ | 5% + 50¢ | MoR at every positive price in this model |
| International, non-USD | 6.6% + 80¢ | 5% + 50¢ | MoR at every price |
The third row is the one people miss. A euro customer paying with a euro card costs 6.6% + 80¢, which is more than the fee that supposedly includes filing for thirty countries. Currency conversion is charged on top of the international card fee, so both can land on one charge.
5. What the extra points buy, and what they take
For the fee you get fraud screening, chargeback handling, buyer support and the remittance itself. Paddle lists payments, subscriptions, tax, fraud protection and billing support inside the 5%. Lemon Squeezy lists the same set and states the liability plainly: it takes on tax collection and pays the taxes on your behalf.
The cost is control:
- You do not hold the merchant account, so the acquirer relationship and the risk decision are theirs.
- Refund and chargeback conversations belong to their support queue, not yours.
- Leaving means moving subscribers, and Paddle sells that as a migration service rather than a button.
Stripe's answer is Tax Complete, which monitors thresholds, registers in 90+ countries and files returns. It is priced in tiers by registrations, transactions and filings, and the tiers are a quote rather than a number on the page.
6. Where each one breaks
Stripe breaks at the first country you sell into without registering. Tax Basic tells you the tax is due and meters 50¢ once you are registered; it does not register you, and back taxes plus penalties appear on no price sheet.
The merchant of record breaks on the fixed fee. 50¢ is 5.6% of a $9 product, so a $9 sale keeps $8.05 before hosting. Paddle's own FAQ routes products under $10 to custom pricing, which is the same admission in a politer sentence.
It breaks again at the top, because 5% never thins out. A $200,000 month split into 1,000 charges of $200 pays $10,000 + $500 on a merchant of record and $7,200 + $800 on the assembled stack, a $30,000 gap across a year.
Price three things before you choose: your average charge, the share of cards that are not domestic, and whether anyone on the team has filed a VAT return.
Cost arithmetic at volume
These are computed from the published unit prices, not measured. Each row prints its own formula, so you can replace our assumption with your traffic and redo it.
Decision matrix
Rows are the situation you are actually in. Pick the row before you read the pricing page again.
| If this is you | Take | Because |
|---|---|---|
| Average charge under $21 and a team of one | Lemon Squeezy or Paddle | At $20 the single 5% + 50¢ meter bills $1,500 against $1,520 for the assembled Stripe stack, and nobody has to register for VAT. |
| Average charge over $21, mostly domestic cards | Stripe | The crossover is 1.4% × P = 30¢, so from $21.43 upward the four Stripe meters total less than one merchant-of-record fee. |
| Selling into the EU and UK from day one | Lemon Squeezy or Paddle | An international non-USD card costs the Stripe stack 6.6% + 80¢, which is more than the merchant-of-record fee that includes the filings. |
| Enterprise buyers who want invoices, POs and net terms | Stripe | Invoicing and Billing sit on the same account, and the 0.7% Billing rate excludes one-off invoices. |
| A marketplace that pays out to sellers | Stripe | Neither merchant-of-record price sheet covers paying out to third-party sellers; the 5% + 50¢ is a single-seller fee. |
| Products priced under $10 | Paddle, at custom pricing | The 50¢ fixed fee is 5.6% of a $9 sale, and Paddle's FAQ sends sub-$10 products to a bespoke rate instead of the public one. |
| $200,000 months with $200 charges | Stripe | The percentage never falls on a merchant of record: that month pays $10,500 there against $8,000 on the assembled stack. |
| Nobody on the team has ever filed a VAT return | A merchant of record | Tax Basic meters 50¢ per registered transaction but does not register you; the registrations and filings are the part you are buying. |
Code and configuration
// Stripe: you are the seller, so the tax switch is yours to get wrong.
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
const session = await stripe.checkout.sessions.create({
mode: "subscription",
line_items: [{ price: process.env.PRICE_20_MONTHLY, quantity: 1 }],
automatic_tax: { enabled: true }, // 50¢ per transaction once registered
customer_update: { address: "auto" },
success_url: "https://app.example.com/ok?session={CHECKOUT_SESSION_ID}",
cancel_url: "https://app.example.com/pricing",
});
// Breaks when: automatic_tax is on and you never registered in the buyer's country.
// No tax is collected, the liability stays yours, and the invoice still looks right.
// Paddle: the tax never becomes your line item, but the webhook is the billable event.
import { Paddle, Environment } from "@paddle/paddle-node-sdk";
const paddle = new Paddle(process.env.PADDLE_API_KEY, {
environment: Environment.production,
});
const transaction = await paddle.transactions.create({
items: [{ priceId: process.env.PRICE_20_MONTHLY, quantity: 1 }],
customData: { account_id: "acc_123" },
});
// Breaks when: you grant access from this response. The transaction is not the
// subscription; only the subscription webhook says the 5% + 50¢ was collected.
return transaction.id;
What you gain, what you give up
Stripe
- Four meters you can turn off: Tax Basic and Billing are opt-in, so the fee follows the feature
- Payments, Billing and Invoicing share one customer record, so a one-off invoice skips the 0.7%
- Disputes cost $15 flat, which is cheaper than losing the dispute and the goods
- The exit is real: card tokens export and the API is documented, so a PSP swap is a project rather than a rewrite
- The 2.9% + 30¢ on the pricing page is not the rate a subscription business pays
- Tax Basic meters 50¢ per registered transaction and still leaves registration and filing to you
- An international non-USD card carries 1.5% twice, before anyone mentions VAT
- Tax Complete, the part that would replace a merchant of record, is a quoted tier
Lemon Squeezy / Paddle
- One percentage and one fixed fee cover payments, tax, fraud and buyer support
- No monthly fee on either, so the cost is zero until the first sale
- Tax collection follows the merchant's registrations, so a new country does not add a filing
- Both publish no lock-in period, and both sell a migration service for the exit
- The percentage never thins out: a $200,000 month pays $10,500 where Stripe pays $8,000
- 50¢ per transaction is 5.6% of a $9 product and 11% of a $4.50 one
- You do not hold the merchant account, so the risk decision and support queue are theirs
- Subscription data moves through a migration rather than an export you run yourself
Migration path
Leaving a merchant of record means moving subscribers, and there is no card-data path between the two: cards stored with the merchant of record do not transfer, so each customer either re-enters payment details or you run both systems until the next renewal. Product and price objects are recreated on the other side, and historical tax filings stay with whoever made them. Paddle sells this as a migration service; on Stripe the same move is exports plus a dunning sequence you write.
Going the other way, from Stripe to a merchant of record, the tax history is the part that does not travel. You keep the records, the new merchant registers where it needs to, and the previous filings remain your responsibility for the periods you owned them.
Common questions
Sources & verification
Prices and limits were read from these pages on 2026-11-10. Vendor marketing claims are quoted as claims. Anything derived is arithmetic on the numbers below.
https://stripe.com/pricing
https://stripe.com/billing/pricing
https://stripe.com/tax/pricing
https://www.lemonsqueezy.com/pricing
https://www.paddle.com/pricing
Keep reading
Resend vs SendGrid
The same fixed-fee trap, one decimal place smaller: 50¢ on a $9 sale is 5.6%.
Datadog vs Grafana Cloud
Another invoice built from meters the pricing page lists one at a time.