
PayKit is a unified payments SDK that gives TypeScript developers a single, consistent API for integrating Stripe, PayPal, Paystack, Polar, and a dozen other providers. Developers can swap payment providers by changing just two lines of code—the import and initializer—while keeping all checkout, subscription, and refund logic unchanged. The toolkit includes per-provider typed metadata, fully typed webhook events, React hooks, and a UI kit with shadcn registry blocks.
Funding
Funding not disclosed
Founders
Product
Problem
Developers integrating payment functionality often face significant friction when switching between payment providers, as each service—Stripe, PayPal, Paystack, and others—has its own proprietary API, data models, and webhook formats. This forces engineering teams to write and maintain provider-specific code, making migrations costly, time-consuming, and error-prone. The resulting vendor lock-in limits flexibility and slows down product iteration.
Solution
PayKit provides a unified payments toolkit for TypeScript that abstracts away provider-specific differences behind a single, consistent API. Developers can integrate checkouts, customers, subscriptions, payments, refunds, and invoices once, then switch providers by changing only the import and initializer lines. The SDK includes per-provider typed `provider_metadata` for provider-specific features, fully typed raw webhook events, and a set of React hooks and UI components for client applications. A drop-in shadcn registry block set further accelerates frontend integration, while adapters for platforms like MedusaJS extend the toolkit's reach into existing commerce stacks.
Target Audience
Primary users are TypeScript developers and engineering teams building payment-enabled applications who need a provider-agnostic integration layer to reduce maintenance overhead and avoid vendor lock-in.
Features
- Unified TypeScript API covering checkouts, customers, subscriptions, payments, refunds, and invoices across all supported providers
- Provider swap with only two lines of code changed—the import and initializer—leaving all business logic untouched
- Per-provider typed `provider_metadata` for accessing provider-specific features without losing type safety
- Fully typed raw webhook events for each provider, simplifying server-side event handling and verification
- React hooks and a UI kit for building client-side payment flows, plus drop-in shadcn registry blocks for rapid prototyping
- Adapter for MedusaJS, enabling e-commerce platforms to integrate PayKit with minimal custom code