L Launch Your AI Startup

Setting up Lemon Squeezy

A click-by-click walkthrough for connecting your own Lemon Squeezy store, testing it with a fake card, and going live. No technical knowledge needed.

A click-by-click walkthrough for connecting your own Lemon Squeezy store, testing it with a fake card, and going live. No technical knowledge needed.

Time: about 30 minutes, plus however long Lemon Squeezy takes to approve your store for live payments.

You will move between two browser tabs: your Lemon Squeezy dashboard and your workspace's back office. Keep both open.


Before you start

Have these to hand:

  • An email address for your Lemon Squeezy login
  • Your plans already created under What you sell → Plans & pricing, and the currency they are priced in

Lemon Squeezy is a merchant of record: it is legally the seller, and it collects and pays sales tax, VAT and GST for you worldwide.


Step 1 — Create your account and store

  1. Go to lemonsqueezy.com and sign up.
  2. When asked, create a store. Give it your business name.
  3. Choose the currency your plans are priced in. Lemon Squeezy charges everything in your store's currency, so the two must match.

Step 2 — Switch to test mode

In the Lemon Squeezy dashboard, turn on Test mode (a switch at the bottom of the left-hand menu). While it is on, nothing is real: no money moves and the cards are fake.


Step 3 — Create one product with three variants

Lemon Squeezy does not let other websites create products for you, so you make one yourself, once. Every plan in your workspace then uses it, with that plan's own name and price.

  1. Open Products and click New product.

  2. Name it something general, like your business name, and save.

  3. Give the product three variants (Add variant), with these pricing options:

    Name it Pricing
    Monthly Subscription, renews every 1 month
    Yearly Subscription, renews every 1 year
    Single payment Single payment

    The price you type on the variants does not matter — put 1 on each. At checkout each plan's own price is used instead.

    You only need the variants for plans you actually sell. No yearly plans, no yearly variant.

  4. Publish the product.

Now note each variant's ID — a number. In the product's variant list, open a variant's ⋯ menu and choose Copy ID. Write the three down.


Step 4 — Find your store ID and create an API key

  1. Open Settings → Stores. The number next to your store's name (shown like #12345) is your store ID. Write it down, without the #.
  2. Open Settings → API and create an API key. Give it a name you will recognise.
  3. Copy the key straight away — Lemon Squeezy only shows it once.

Treat the key like a password. Because you made it in test mode, it only works for test payments.


Step 5 — Paste them into your workspace

  1. In your workspace, open Setup → Payments, find the Lemon Squeezy card and click Set up.
  2. Paste the API key and the Store ID.
  3. Paste the three variant IDs into Monthly variant ID, Yearly variant ID and Single payment variant ID.
  4. Make up a Signing secret: any long random string, at least 20 characters. A password generator is ideal. Paste it in and keep a copy — you need it again in step 6.
  5. Tick Take payments through Lemon Squeezy.
  6. Click Save, then Test connection.

Test connection checks the key, notes your store's currency, and checks each variant is the right kind — a monthly subscription in the monthly box, and so on. The Status card says Verified when everything is right, and exactly what is wrong when it is not.


Step 6 — Connect the webhook

The webhook is how Lemon Squeezy tells your workspace that somebody has paid. Without it, customers are charged and get nothing. Do not skip this step.

  1. On your workspace's Lemon Squeezy page, find Webhook endpoint and click the copy button. It is private to you — treat it like a password.
  2. In Lemon Squeezy, open Settings → Webhooks and click the + button.
  3. Paste the address as the Callback URL.
  4. In Signing secret, paste the same secret you made up in step 5.
  5. Tick each of these events:
    • order_created
    • order_refunded
    • subscription_created
    • subscription_updated
    • subscription_cancelled
    • subscription_resumed
    • subscription_expired
    • subscription_unpaused
    • subscription_payment_success
    • subscription_payment_failed
    • subscription_payment_refunded
  6. Save the webhook.

Step 7 — Turn Lemon Squeezy on for your customers

Open Setup → Payments and click Use Lemon Squeezy on its card.


Step 8 — Make a test purchase

  1. Open your website in a private (incognito) window and register as a customer, using a different email from your own login.
  2. Choose a paid plan and click Pay. You are taken to Lemon Squeezy's checkout, showing your plan's name and price.
  3. Pay with the test card:
    • Card number 4242 4242 4242 4242
    • Any expiry date in the future, any three-digit CVC
  4. You are brought back to your billing page. Within a minute the plan and credits appear.
  5. In your back office, Your customers → Payments shows the payment.

Then try cancelling from the customer's billing page, and refunding from Payments.


Step 9 — Go live

Before you can take real payments, Lemon Squeezy has to approve your store. Follow the Activate your store prompts in the dashboard — it asks about your business and how you want to be paid.

Once it is approved:

  1. Turn Test mode off.
  2. Your product needs to exist in live mode too. Open it and use Copy to live mode (in its ⋯ menu). Copying gives the variants new IDs — note them, as in step 3.
  3. Create a new API key under Settings → API, now with test mode off.
  4. Webhooks are separate in live mode as well: repeat step 6 with test mode off, using the same address and signing secret.
  5. In your workspace, paste the live API key and the three new variant IDs, click Save and Test connection.
  6. Make one small real purchase yourself, then refund it.

You are live.


Good to know

  • Currency: a plan priced in a currency other than your store's cannot be bought; the checkout page tells the customer why. Keep all your plans in your store's currency.
  • Changing prices: change the price on the plan here. New purchases use the new price, with nothing to change in Lemon Squeezy.
  • Cancelling: a cancelled subscription keeps working until the end of the period the customer paid for.

If you get stuck

Test connection says a variant is wrong. It names the box. Usually two IDs are swapped, or a variant's pricing is not set to the right kind (subscription every month, every year, or single payment).

Paid in Lemon Squeezy, nothing here. The webhook: the address must be exactly the one shown on your workspace's page, the signing secret the same in both places, and every event ticked. Lemon Squeezy lists recent deliveries on the webhook's page.

Test payments worked, real ones do not. You are still using the test API key or the test variant IDs, or you have not made the live webhook.


Back to: Payments · Next: Vouchers

Something here out of date, or a question this does not answer?

Back to contents