Blog

How I Integrated Polar.sh Payments Into My SaaS With Better Auth - What the Docs Don't Tell You

Dmytro Bondarchuk|May 8, 2026|14 min read|No comments

When I added subscription billing to timeli.sh, I chose Polar.sh as the payment layer and better-auth as the auth framework. On paper, both are excellent. In practice, there was one fundamental mismatch between how Polar + better-auth expect things to work and how timeli.sh is actually structured - and I spent more time fighting it than building the feature.

This post is the write-up I wish had existed before I started.

Timeli.sh is a multi-tenant SaaS. A user creates an organization, and that organization is what subscribes. Multiple users can belong to an organization, so it would be wrong for the subscription to live on any individual user. The organization either has an active subscription or it doesn't - regardless of who's logged in.

Every better-auth example, every Polar integration guide, and every community snippet I found wires the subscription directly to the userId from the session. Something like:

Read more
blogposttimeli.shpolar.shsubscription

Contact me

Email

dmytro@bondarchuk.me
© 2026 Dmytro BondarchukCreated usingTimeli.sh