A guide to configuring a SaaS app with Vite (frontend), Clerk + Convex (auth and database), and Polar (payments).
Note: Before proceeding, you’ll need to create accounts with each service if you don’t already have them. The following steps will walk you through setting up each one.
pk_test_
for development)=
sign, not the variable name or quotation marksImportant: The JWT template you select NEEDs to be Convex, as this is what the integration expects.
Note: The environment variables in Convex are not immediately active. They will be applied the next time your functions are deployed, which Tempo will handle automatically.
.site
(e.g., )/payments/webhook
(e.g., )
Tip: Create multiple products with different price points to test tiered subscription options in your application.
Note: Convex may take a few moments to apply your environment variables. If you encounter authentication issues, wait a minute and try again.
4242 4242 4242 4242
Troubleshooting: If your subscription isn’t active, check the Polar webhook configuration and Convex environment variables. You can view webhook delivery attempts in Polar’s dashboard under Settings → Developers → Webhooks.