Billing

Polar

Polar orders and subscriptions as canonical revenue.

At a glance

Category
Billing
Required
Yes — billing is the one required slot
Auth
OAuth preferred, API key or token as fallback
Powers
Revenue, Retention, Profitability
Freshness
Stale after 6 hours
Webhook
Yes — signed, per project
Key format
polar_

Connect it

  1. 1Press Connect on Polar and authorize the OAuth app if it is configured for your workspace.
  2. 2Otherwise create an organization access token in Polar → Settings and paste the polar_ value.
  3. 3Add the webhook URL shown after connect to Polar → Webhooks and paste the signing secret back into Seiton.

The organization access token is created here: polar.sh.

Webhook

The exact URL — including this project's id — is shown in the product after you connect. Copy it from there rather than building it by hand.
https://www.seiton.online/api/webhooks/polar?website_id={WEBSITE_ID}

Events worth enabling:

  • order.paid
  • subscription.canceled

website_id is not optional

The signature is verified against the vault secret of that specific project. Without the query parameter the endpoint refuses the request rather than guessing which project a payload belongs to.

Worth knowing

  • Attribution uses checkout metadata.visitor_id.

Disconnecting

Disconnect from the Integrations page. Seiton deletes the stored credentials, removes any webhook endpoint it created in your account, and strips the fields this provider owned out of your snapshots — those metrics go back to insufficient data rather than freezing at their last value.

Revoking the token or OAuth grant inside Polar works just as well and stops reads immediately. The connection then shows as revoked on the next sync, with the reason.