Lemon Squeezy

Lemon Squeezy (LS) is a Merchant of Records.

It supports more countries than Stripe, but it has a more strict approval process, because LS sells your products on your behalf worldwide, they collect VAT and remit taxes in the different countries for you.

It also has an affiliate system out-of-the-box.

Shipped supports LS for Subscriptions and One-time purchases.

Shipped supports Lemon Squeezy to collect payment. First of all, you need to create a store. If you haven't, follow the guide.

After that, you need to configure a webhook on Lemon Squeezy, follow these steps:

  1. Log into Lemon Squeezy

  2. Go to Settings

  3. Click on Webhooks

  4. Click on the "+" icon

  5. Fill in Callback URL with https://yourwebsite.com/api/webhooks/lemonsqueezy

  6. Fill in Signing Secret with the Secrets Generator of Shipped

  7. Select the events

    1. For subscriptions:

      1. subscription_created

      2. subscription_updated

      3. subscription_cancelled

      4. subscription_resumed

      5. subscription_expired

      6. subscription_paused

      7. subscription_unpaused

    2. For orders (one-time payments):

      1. order_created

      2. order_refunded

  8. Click Save Webhook

  9. open .env and set LEMONSQUEEZY_WEBHOOK_SECRET with the Signing Secret value

Lemon Squeezy Webhook Settings

The webhook provided by Shipped is at src/app/api/webhooks/lemonsqueezy/route.ts and it will handle all the payments and subscription events for you.

Last updated

Was this helpful?