Polar Webhooks
How to Test Polar Webhooks Locally (2026)
Polar (polar.sh) sends webhooks for order, subscription, checkout, and benefit events. Polar follows the Standard Webhooks specification — each delivery carries webhook-id, webhook-timestamp, and webhook-signature headers, with an HMAC-SHA256 signature you verify using your endpoint secret.
Signature Header
webhook-signature
Algorithm
HMAC-SHA256 (Standard Webhooks spec)
Setup Guide
- 1Create a free HookSense endpoint at hooksense.com
- 2Copy your unique webhook URL
- 3In Polar → Settings → Webhooks → Add Endpoint
- 4Paste your HookSense URL and copy the generated endpoint secret
- 5Add the secret to HookSense to verify the webhook-signature header
- 6Select the events you want and save
- 7Trigger a test order or checkout to see it land in HookSense
Common Polar Webhook Events
checkout.createdcheckout.updatedorder.createdorder.paidsubscription.createdsubscription.updatedsubscription.activesubscription.canceledForward to Localhost
Use HookSense CLI to forward Polar webhooks directly to your local development server:
npx hooksense listen -p 3000 --path /api/integrations/polarNo ngrok or tunnel setup required. Install with npm i -g hooksense or use npx.
Tips & Best Practices
- Polar uses the Standard Webhooks spec (webhook-id / webhook-timestamp / webhook-signature) — the same scheme as Svix
- The signature base is webhook-id.webhook-timestamp.rawBody — verify against the raw body
- Polar can format payloads for Discord or Slack too — point those at separate HookSense endpoints to compare
- Replay captured order.paid events to retest fulfillment without a real purchase
Related
Start Testing Polar Webhooks
Create a free endpoint and receive your first Polar webhook in seconds.
Get Started Free