We've added Polar.sh alongside Stripe in all LaunchApp templates. Teams can now choose their payment provider at deployment time — no code changes required.
Why two providers?
Stripe is the gold standard for payment infrastructure. Polar.sh is a newer option purpose-built for SaaS and indie hackers — it handles EU VAT, has simpler pricing, and integrates more naturally with open-source projects on GitHub.
Different teams have different preferences and requirements. By shipping both, we let teams choose based on their specific needs without having to graft one onto a template that wasn't designed for it.
What's wired up
Both providers come with:
- Checkout session creation
- Webhook handling with idempotency
- Receipt and confirmation pages
- Error recovery flows
The checkout UI is provider-agnostic — the same component calls the appropriate API based on environment variables.
Choosing your provider
Set the POLAR_ENABLED environment variable to switch between providers. When Polar is enabled, checkout uses Polar's hosted page. When disabled (the default), it uses Stripe. Everything else stays the same.