Billing

Find answers to common billing issues.

Checkout can't be created

This happen in the following cases:

  1. The environment variables are not set correctly. Please make sure you have set the environment variables corresponding to your billing provider in .env.local if locally - or in your hosting provider's dashboard if in production
  2. The price IDs used are incorrect. Make sure to use the exact price IDs as they are in the payment provider's dashboard.

Read more about billing configuration

Database is not updated after subscribing to a plan

This may happen if the webhook is not set up correctly. Please make sure you have set up the webhook in the payment provider's dashboard and that the URL is correct.

If working locally, make sure that:

  1. If using Stripe, that the Stripe CLI or configured proxy is up and running (see the Stripe documentation for more information).
  2. If using Lemon Squeezy, that the webhook set in Lemon Squeezy is correct, the server is running, and the proxy is set up properly if you are testing locally (see the Lemon Squeezy documentation for more information).
  3. If using Polar, ensure that you have configured the webhook URL in the Polar dashboard exactly as documented, and that your local development server is accessible (use a tool like ngrok if required) (see the Polar documentation for more information).

Webhook signature verification failed

If you see "Invalid signature" or "Webhook signature verification failed":

  1. Check the webhook secret matches exactly (no extra spaces or newlines)
  2. Verify you're using the correct secret for the environment (test vs live)
  3. Ensure the raw request body is being passed to verification (some middleware can modify it)

Prices not showing or wrong currency

If prices display incorrectly or don't show:

  1. Verify price IDs in your config match the ones in your payment provider dashboard
  2. Check the price is active (not archived) in the provider dashboard
  3. Ensure currency matches your configuration
  4. Clear browser cache - pricing data may be cached
# Restart dev server after config changes
pnpm dev

How is this guide?

Last updated on

On this page

Ship your startup everywhere. In minutes.Get TurboStarter