Latest articles
Quote the plan. Wait for the webhook.
Polar has no quote API. The preview amount can be zero while Polar still invoices. Mint a short-lived signed quote, persist intent, then let the webhook write entitlements.
Your plan slug is not Polar's product ID
builder is yours. prod_ is Polar's. Checkout fail-closes if the mapping is missing. The catalog decides what you sell; Polar only charges.
Polar retries for days. Five minutes is the wrong clock.
Polar reuses the original webhook timestamp on retries. A 5-minute skew check drops legitimate events. Verify both HMAC encodings and dedupe on provider plus event id.
