Lemon Squeezy
Merchant of record platform for selling software, SaaS, and digital products with built-in global tax compliance
Pick Lemon Squeezy when you want zero tax headaches and a fast setup for selling digital products or SaaS — it handles VAT, sales tax, and compliance as merchant of record so you don't have to, but expect higher effective fees and limited support if anything goes wrong.
◆ Simple
200+ countries
5% + 50¢
Lemon Squeezy is a merchant of record (MoR) payment platform founded in 2021 and acquired by Stripe in July 2024. It handles payments, global tax collection and remittance, subscriptions, license key management, and digital product delivery — all under a single 5% + 50¢ transaction fee. As the MoR, Lemon Squeezy is the legal seller of record, meaning you never need to register for VAT, file sales tax, or worry about PCI compliance. Available in 200+ countries via PayPal and 79 countries via bank payouts.
Last full audit: April 13, 2026
Trust Score Breakdown
Account Stability
45/100Trustpilot (1.2/5) is dominated by reports of account termination without explanation, frozen payouts exceeding $3,500, and rejected applications despite clean documentation. Account approval is required before selling and can take days to weeks. Verification processes reportedly fail repeatedly for some users. The MoR model gives Lemon Squeezy broad discretion to freeze or close accounts based on opaque 'risk signals.'
Developer Experience
78/100Clean REST API following JSON:API spec, official JavaScript/TypeScript SDK (@lemonsqueezy/lemonsqueezy.js), lightweight Lemon.js (2.3kB) for checkout overlays, and clear documentation with framework-specific guides (Next.js, etc.). Six-line integration for basic checkout. Test mode with simulated subscription events. However, no official Python, PHP, or Go SDKs — JS/TS only for official support. API is functional but less mature than Stripe or Paddle.
Payout Reliability
55/100Payouts run bi-monthly (1st and 15th) with a 13-day hold and $50 minimum threshold. Non-US payouts incur a 1% fee and are settled in USD only, exposing sellers to FX conversion costs. Multiple Trustpilot reports describe payout failures lasting months with no resolution. Platform reliability under Stripe ownership is improving but historical issues remain a concern.
Support Quality
30/100Trustpilot rating of 1.2/5 with widespread complaints about slow or nonexistent support. AI chatbot is reportedly ineffective, and email support response times exceed one week. Multiple reports of unresolved payout issues lasting months. Critical account and payment problems often go unanswered. A February 2026 Reddit thread specifically flagged responsiveness issues during disputes.
Track Record
60/100Founded in 2021, Lemon Squeezy is a relatively young platform. Reached $1M ARR within 9 months of public launch, demonstrating strong initial traction. Acquired by Stripe in July 2024, providing financial stability but introducing uncertainty about long-term direction. Post-acquisition feature velocity has slowed, the roadmap has gone quiet, and the indie-hacker community that built the platform's reputation is expressing concern. Building 'Stripe Managed Payments' product for 2026 suggests strategic evolution.
Transparency
70/100Base pricing (5% + 50¢) is prominently displayed and easy to understand. However, the +1.5% international surcharge is less visible, and effective rates for non-US sellers approach 6.5-7%. USD-only settlement means hidden FX conversion costs for international sellers. The MoR model means less visibility into how tax deductions are calculated. Payout fee structure (0% US bank, 1% international bank, $0.50 US PayPal, 3% international PayPal) is documented but requires digging.
Availability Matrix
| Region | Countries | Currencies | Payout Timing |
|---|---|---|---|
| North America | US, Canada | USD (settlement), display pricing in local currencies | Bi-monthly (1st and 15th), 13-day hold, 1-5 business days to arrive. US bank payouts: 0% fee. US PayPal: $0.50 flat fee. |
| Europe | UK, Germany, France, Netherlands, Spain, Italy, Ireland, Belgium, Austria, Switzerland, Sweden, Denmark, Norway, Finland, Portugal, Poland, Czech Republic, Romania, Hungary, Bulgaria, Luxembourg, and others (79 total bank payout countries globally) | USD settlement; display in EUR, GBP, CHF, SEK, NOK, DKK, PLN, CZK + more via 95-country currency support | Bi-monthly, 13-day hold + 1-5 business days. Bank payout fee: 1%. PayPal: 3% (up to $30). All payouts in USD — bank converts to local currency. |
| Asia-Pacific | Australia, Japan, Singapore, Hong Kong, New Zealand, India (invite-only via Stripe since May 2024), and others within the 79 bank payout countries | USD settlement; local currency display supported in 95+ countries | Bi-monthly, 13-day hold + 1-5 business days. Bank payout fee: 1%. India merchants may need to use PayPal for payouts. |
| Latin America | Brazil, Argentina, Mexico, Chile, Colombia, and others within bank payout or PayPal payout support | USD settlement; local currency display available | Bi-monthly via bank (1% fee) or PayPal (3% up to $30). PayPal may charge additional conversion fees. |
| Rest of World (PayPal only) | 200+ countries via PayPal payouts for sellers not in the 79 bank-payout countries | USD settlement via PayPal | Bi-monthly. PayPal payout fee: 3% (up to $30) for international. PayPal may add its own conversion/withdrawal fees. |
| Buyer Coverage (accepting payments) | Customers from 135+ countries can purchase. Accepts Visa, Mastercard, Amex, Discover, Diners Club, JCB, UnionPay, PayPal, Apple Pay, Google Pay, Alipay, WeChat Pay, Cash App Pay, and 20+ payment methods. | Prices can be displayed in local currencies across 95+ countries; all transactions processed in USD | N/A (buyer-side) |
Feature Snapshot
One-time Payments
Supports one-time purchases for digital products, software, and downloads via hosted checkout, checkout overlay, or payment links.
Subscriptions / Recurring Billing
Full subscription management with monthly, yearly, weekly, and daily billing intervals. Supports trials, upgrades/downgrades, pause/resume, usage-based and per-seat pricing. Automated dunning for failed payments.
Digital Product Delivery
Secure file delivery via expiring, signed download links to prevent abuse. Supports multiple file types and automatic delivery after purchase.
License Key Management
Automatic license key generation after each sale. Supports activation limits, deactivation, re-issuing, and expiration tied to subscription status. Full API for license validation.
Hosted Checkout
Pre-built, hosted checkout page that loads in a new browser window. Handles payment method selection, tax calculation, and compliance.
Checkout Overlay
Seamless popup overlay via Lemon.js (2.3kB) that lets customers purchase without leaving your site. Supports all payment methods.
Payment Links (No-Code)
Generate shareable payment links from the dashboard without code. Suitable for social media, email campaigns, and quick sales.
Tax Collection (Merchant of Record)
As MoR, Lemon Squeezy calculates, collects, and remits VAT, GST, and sales tax globally across 100+ countries. Sellers have zero tax filing responsibility — liability is fully transferred to Lemon Squeezy.
Customer Portal
Self-service portal where customers manage subscriptions (pause, upgrade, downgrade, cancel), update payment methods, view history, and download invoices. Embeddable in your app via React/Vue components.
Email Marketing
Built-in email marketing alongside your store. Free for up to 500 subscribers. Supports campaigns, discount codes, and audience building.
Affiliate Program
Built-in affiliate management. Set percentage or flat-rate commissions. Includes affiliate portal, creative asset management, tracking, and monthly payouts. Adds +3% platform fee on affiliate-referred sales.
Fraud Prevention
AI/ML-based fraud detection with real-time analytics. Identifies anomalous patterns across signups, refunds, and transactions.
3D Secure Authentication
Automatic 3D Secure handling. Lemon Squeezy determines when 3DS is required based on card issuer, amount, and regional regulations. No merchant configuration needed.
Webhooks
Real-time event notifications via JSON POST requests. Events for orders, subscriptions, invoices, license keys, and customers. HMAC signature verification via X-Signature header. Dashboard and API management. Test mode simulation.
Multi-Currency Display
Prices can be displayed in local currencies across 95+ countries, but all transactions are processed and settled in USD. Non-US sellers face currency conversion costs from their bank or PayPal.
Dunning Management
Automated retry system for failed subscription payments. Sends customer emails and retries card charges to reduce involuntary churn.
Storefront / Hosted Store
No-code hosted storefront to display and sell products without building your own website. Customizable branding.
In-Person Payments
No point-of-sale or card reader support. Lemon Squeezy is digital-only.
Marketplace / Platform Payments
No multi-party split payment or sub-merchant onboarding capabilities. Designed for direct sellers, not platforms or marketplaces.
Invoicing
Automatic invoices generated for orders and subscriptions. Customers can download invoices from the portal. However, no standalone invoicing product for sending manual invoices to clients.
Pricing Breakdown
Security & Compliance
Integration Prompt
✂
Copy & use this 4661-char integration prompt
Production-ready prompt for Claude / GPT / Cursor — handles setup, security, webhooks & gotchas
Copy & use this 4661-char integration prompt
Production-ready prompt for Claude / GPT / Cursor — handles setup, security, webhooks & gotchas
You are integrating Lemon Squeezy as a payment gateway into a [Django / Next.js / etc.] application. Lemon Squeezy is a Merchant of Record — it handles all tax collection, compliance, and payment processing on your behalf.
## Setup
1. Create a Lemon Squeezy account and wait for approval (can take days)
2. Create your products and variants in the Lemon Squeezy Dashboard
3. Generate an API key from Settings > API in the Dashboard
4. Store credentials in environment variables — NEVER hardcode them:
- `LEMONSQUEEZY_API_KEY` (your API key)
- `LEMONSQUEEZY_STORE_ID` (your store ID)
- `LEMONSQUEEZY_WEBHOOK_SECRET` (webhook signing secret)
## Option A: Checkout Overlay (Recommended for most use cases)
The simplest integration — embed Lemon.js and open a checkout overlay:
```html
<script src="https://app.lemonsqueezy.com/js/lemon.js" defer></script>
<a href="https://yourstore.lemonsqueezy.com/buy/variant-id" class="lemonsqueezy-button">Buy Now</a>
```
Lemon.js (2.3kB) intercepts the link and opens a checkout overlay on your page.
## Option B: API-Driven Checkout
Create a checkout session programmatically:
```javascript
import { lemonSqueezySetup, createCheckout } from '@lemonsqueezy/lemonsqueezy.js';
lemonSqueezySetup({ apiKey: process.env.LEMONSQUEEZY_API_KEY });
const checkout = await createCheckout(process.env.LEMONSQUEEZY_STORE_ID, variantId, {
checkoutData: {
email: customer.email,
custom: { user_id: customer.id },
},
productOptions: {
redirectUrl: 'https://yourdomain.com/success',
},
});
// Redirect user to checkout.data.attributes.url
```
## Webhook Handling (Critical)
Never rely on the success redirect alone — always confirm via webhooks:
1. Set up a webhook endpoint in Settings > Webhooks or via the API
2. Listen for key events:
- `order_created` — one-time purchase completed
- `subscription_created` — new subscription started
- `subscription_updated` — plan changed, paused, or resumed
- `subscription_cancelled` — subscription ended
- `subscription_payment_success` — recurring payment processed
- `subscription_payment_failed` — payment retry needed
- `license_key_created` — new license key issued
3. ALWAYS verify the webhook signature:
```javascript
import crypto from 'crypto';
function verifyWebhook(rawBody, signatureHeader, secret) {
const hmac = crypto.createHmac('sha256', secret);
const digest = hmac.update(rawBody).digest('hex');
return crypto.timingSafeEqual(
Buffer.from(digest),
Buffer.from(signatureHeader)
);
}
// In your webhook handler:
const signature = req.headers['x-signature'];
if (!verifyWebhook(req.rawBody, signature, process.env.LEMONSQUEEZY_WEBHOOK_SECRET)) {
return res.status(401).send('Invalid signature');
}
const event = JSON.parse(req.body);
const eventName = event.meta.event_name;
const customData = event.meta.custom_data; // { user_id: '...' }
```
4. Return 200 quickly, then process asynchronously
5. Track processed event IDs to prevent duplicate fulfillment
## License Key Validation (for software products)
```javascript
import { validateLicense } from '@lemonsqueezy/lemonsqueezy.js';
const result = await validateLicense({ licenseKey: 'XXXXX-XXXXX-XXXXX-XXXXX' });
if (result.data.valid) {
// License is active
}
```
## Important Notes
- The API follows JSON:API spec — set headers: `Accept: application/vnd.api+json` and `Content-Type: application/vnd.api+json`
- All amounts are in cents (e.g., $10 = 1000)
- Use Test Mode for development — create test API keys and simulate subscription events
- Lemon Squeezy handles ALL tax calculation and collection — do NOT add your own tax logic
- All settlements are in USD — your customers see local currency prices but you receive USD
- The `custom_data` field in checkout is how you link Lemon Squeezy orders to your internal user IDs
## Testing
- Toggle Test Mode in the Dashboard to create test products and orders
- Use the 'Simulate event' option on test subscriptions to trigger webhook events
- Test card: use Stripe test cards (4242 4242 4242 4242) in test mode
- Verify webhook signature verification works correctly before going live
## Common Gotchas
- Account approval is required before you can accept real payments — apply early
- Webhook events use `meta.event_name` not a top-level `type` field (unlike Stripe)
- Custom data passed at checkout comes back in `meta.custom_data` in webhooks
- The 50¢ flat fee means products under $10 have disproportionately high effective rates
- All payouts are in USD — plan for FX conversion if you're outside the US
- 13-day hold on funds plus bi-monthly payout schedule means delayed cash flow
Replace [Django / Next.js / etc.] with your stack. Follows PCI DSS best practices and handles common edge cases.
Common Pitfalls
7 itemsAccount rejection and termination without explanation
Multiple users report accounts being rejected during onboarding or abruptly terminated with frozen payouts (one case: $3,500+) due to undefined 'risk signals' with no proof, details, or appeal process. Solo entrepreneurs with clean products, clear branding, and complete legal documentation report being rejected without any explanation. Mitigation: have all business documentation ready before applying, start with small transaction volumes, and maintain a backup payment processor.
Extremely slow customer support
Trustpilot rating of 1.2/5, heavily driven by support complaints. AI chatbot is ineffective for real issues, and email support response times routinely exceed one week. Payout failures have reportedly gone unresolved for 3+ months. There is no phone support or live chat with human agents. Mitigation: don't rely on Lemon Squeezy for time-sensitive payment issues; have alternative revenue channels.
USD-only settlement hurts international sellers
All payouts are made in USD regardless of seller location. Non-US sellers pay bank or PayPal currency conversion fees on top of the 1% international bank payout fee. For UK-based sellers, the +1.5% international surcharge on nearly all transactions brings effective rates to ~6.5-7%. FX fluctuations add unpredictability to revenue. Mitigation: factor in true effective rate including FX costs when comparing to competitors.
Post-Stripe acquisition uncertainty
Since Stripe acquired Lemon Squeezy in July 2024, feature velocity has slowed, the public roadmap has gone quiet, and the indie-hacker community that built the platform's reputation is expressing concern about corporate priorities replacing creator-first development. Lemon Squeezy is building 'Stripe Managed Payments' which may shift the platform's direction. Mitigation: evaluate whether Lemon Squeezy's current feature set meets your needs without relying on future roadmap promises.
Account approval required — can take days to weeks
Unlike Stripe or PayPal where you can start accepting payments immediately, Lemon Squeezy requires account approval before you can sell. Verification attempts reportedly fail repeatedly for some users (20+ attempts reported). This creates a significant barrier for developers who need to test or launch quickly. Mitigation: apply early in your development cycle, not at launch time.
High base fee eats into low-price products
The 50¢ flat fee per transaction is significant for low-price items. A $5 product loses 10% to the flat fee alone, plus the 5% percentage — totaling 15%. A $10 product loses 10%. Custom pricing is available for high-volume sellers of low-price items, but this requires direct negotiation with the sales team. Mitigation: price products above $10 to keep effective fee rates reasonable, or negotiate custom pricing.
13-day payout hold plus bi-monthly schedule
Sales are held for 13 days before becoming available for payout, and payouts only run twice per month (1st and 15th). Combined with 1-5 business days for transfer, it can take up to 3-4 weeks from sale to cash in hand. The $50 minimum threshold means small sellers may wait even longer. Mitigation: plan cash flow around delayed payout cycles.
Community Pulse
The developer community is sharply divided on Lemon Squeezy. Indie hackers and solo founders praise its dead-simple integration, built-in tax compliance, and the fact that you can start selling digital products in minutes without worrying about VAT or sales tax. However, Trustpilot paints a very different picture at 1.2/5 — dominated by reports of frozen accounts, unresponsive support (1+ week email response times), and payout failures lasting months. The Stripe acquisition in July 2024 initially brought optimism (payout fees were reduced), but by 2026, the community notes that feature velocity has slowed, the roadmap has gone quiet, and there's growing uncertainty about whether Lemon Squeezy will remain a standalone product or be absorbed into Stripe's ecosystem. The consensus: great for getting started quickly with low-price digital products, but risky for businesses that depend on timely payouts and responsive support.
Sentiment last updated: April 2026 · We summarize — never copy — community content. Links go to original threads.
Changelog
-
all
Initial gateway entry created with full audit — all categories verified from scratch
LearnWithHasan.com · Payment Gateway Index · No affiliate links · Builder-first