Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.usepaykit.dev/llms.txt

Use this file to discover all available pages before exploring further.

npm install @paykit-sdk/polar

Setup

import { PayKit } from '@paykit-sdk/core';
import { polar } from '@paykit-sdk/polar';

export const paykit = new PayKit(polar());
Required env vars:
POLAR_ACCESS_TOKEN=polar_oat_...
POLAR_WEBHOOK_SECRET=your-webhook-secret

Webhooks

Enable these events in your Polar dashboard:
  • order.paid
  • order.created
  • customer.created
  • customer.updated
  • customer.deleted
  • subscription.created
  • subscription.updated
  • subscription.revoked
  • refund.created
const webhook = paykit.webhooks
  .setup({ webhookSecret: process.env.POLAR_WEBHOOK_SECRET! })
  .on('payment.created', async event => { /* ... */ })
  .on('subscription.created', async event => { /* ... */ })
  .on('customer.created', async event => { /* ... */ })
  .on('refund.created', async event => { /* ... */ });

await webhook.handle({
  body: rawBody,
  headersAsObject: Object.fromEntries(request.headers),
  fullUrl: request.url,
});

Raw Polar events

paykit.webhooks
  .setup({ webhookSecret: process.env.POLAR_WEBHOOK_SECRET! })
  .on('polar.order.paid', async event => {
    // typed against Polar's API types
  })
  .on('polar.subscription.revoked', async event => { /* ... */ });