Polar Integration
Polar is a merchant-of-record platform for digital products, subscriptions, and license keys.
What I Do
- Guide implementation of Polar checkout and payments
- Help with subscription management and billing
- Assist with license key validation
- Set up webhook handlers for payment events
When to Use Me
- Implementing checkout flow for a product
- Adding subscription billing to an app
- Setting up license key validation
- Building a customer portal
- Handling payment webhooks
Quick Start
npm install @polar-sh/sdk
import { Polar } from "@polar-sh/sdk";
const polar = new Polar({
accessToken: process.env.POLAR_ACCESS_TOKEN!,
server: "production", // or "sandbox"
});
Key APIs
| API |
Purpose |
polar.products.* |
Create/manage products and prices |
polar.checkouts.* |
Create checkout sessions |
polar.subscriptions.* |
Manage subscriptions |
polar.orders.* |
View order history |
polar.customers.* |
Customer management |
polar.licenseKeys.* |
Issue and validate licenses |
Environment Variables
| Variable |
Description |
POLAR_ACCESS_TOKEN |
Organization Access Token (OAT) |
POLAR_WEBHOOK_SECRET |
Webhook signing secret |
Common Patterns
Create Checkout
const checkout = await polar.checkouts.create({
productId: "prod_xxx",
successUrl: "https://myapp.com/success",
});
// Redirect to checkout.url
Validate License Key
const result = await polar.licenseKeys.validate({
key: "XXXX-XXXX-XXXX-XXXX",
organizationId: "org_xxx",
});
Handle Webhook
import { validateEvent } from "@polar-sh/sdk/webhooks";
const event = validateEvent(body, signature, process.env.POLAR_WEBHOOK_SECRET!);
// event.type: "subscription.created", "order.created", etc.
Links