Installation
Setup
Configure environment variables
Add your Polar credentials to
.env:.env
Variables prefixed with
PUBLIC_ are exposed to the client. Keep your access token private.Create Polar utility
Create a server-side utility for Polar client instances:
src/lib/server/polar.ts
Form Actions
Handle form submissions with SvelteKit actions:src/routes/checkout/+page.server.ts
src/routes/checkout/+page.svelte
API Routes
Create server endpoints for API operations:src/routes/api/webhooks/polar/+server.ts
Dynamic Routes
Load individual resources with dynamic parameters:src/routes/products/[id]/+page.server.ts
src/routes/products/[id]/+page.svelte
Client-Side Interactions
Use progressive enhancement for dynamic features:src/lib/components/BuyButton.svelte
Hooks
Add authentication or session handling in hooks:src/hooks.server.ts
src/app.d.ts:
src/app.d.ts
src/routes/+page.server.ts
Error Handling
Create custom error pages:src/routes/+error.svelte
src/routes/products/[id]/+page.server.ts
Prerendering
Prerender static pages at build time:src/routes/products/+page.server.ts
Best Practices
Server-only code
Keep sensitive code in
src/lib/server/ to prevent client bundling.Progressive enhancement
Build forms that work without JavaScript using SvelteKit actions.
Type safety
Use generated TypeScript types for better developer experience.
Prerender when possible
Use prerendering for static content to improve performance.
Next Steps
Checkout
Implement Polar Checkout in your SvelteKit app.
Webhooks
Set up webhook handlers for real-time events.
TypeScript SDK
Explore the full TypeScript SDK.
API Reference
Browse the complete API reference.