Files
myeasycms-v2/packages/billing/lemon-squeezy
Giancarlo Buomprisco 9583aeec9f Update webhook handler and tailwind paths, add first subscription ite… (#40)
* Update webhook handler and tailwind paths, add first subscription item to types

In the lemon-squeezy-webhook-handler, changed logger from error to warning and refactored the generation of lineItems to use firstSubscriptionItem details and obtain the priceAmount. In tailwind's index file, adjusted the path to include src directories in packages. Also, the first_subscription_item has been added to the subscription-webhook type for better data representation.

* Refactor subscription interval calculation

The subscription interval calculation was refactored to use the new 'getSubscriptionIntervalType' function. This new function provides a more accurate calculation, where it determines the interval type ('monthly' or 'yearly') by comparing the renewal date with the current date.

* Update dependencies across multiple packages

This commit includes updates to the version of "supabase-js", "lucide-react", "react-query", "react-table", "postcss", "stripe" among other dependencies in multiple package.json files. The "pnpm-lock.yaml" file is also updated to reflect these changes. This ensures the project dependencies stay up-to-date to include new features, improvements and bug fixes.
2024-06-30 23:29:06 +08:00
..
2024-04-01 21:43:18 +08:00

Billing / Lemon Squeezy - @kit/lemon-squeezy

This package is responsible for handling all billing related operations using Lemon Squeezy.

Please add the following environment variables to your .env.local file during development:

LEMON_SQUEEZY_SECRET_KEY=
LEMON_SQUEEZY_SIGNING_SECRET=
LEMON_SQUEEZY_STORE_ID=

Add the variables to your production environment as well using your CI.

Webhooks

When testing locally, you are required to set up a proxy to your own local server, so you can receive the webhooks from Lemon Squeezy. You can use ngrok for this purpose, or any other similar service (LocalTunnel, Cloudflare Tunnel, Localcan, etc).

Once you have the proxy running, you can add the URL to your Lemon Squeezy account developer account as the Webhooks URL.

Please set your app configuration URL to the following:

NEXT_PUBLIC_SITE_URL=https://<your-proxy-url>

Replace <your-proxy-url> with the URL provided by the proxy service.

Webhook Events

You must point the webhook to the /api/billing/webhook endpoint in your local server.

Please subscribe to the following events:

  • order_created
  • subscription_created
  • subscription_updated
  • subscription_expired