Stripe Node.js Library

The official Node.js and TypeScript library for the Stripe API, giving developers a fully typed client for payments, billing, and Connect.

SDK
npm
v23.0.1
4,541 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
95 /100 Excellent
Development Activity 100
Maintenance 96
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
90 /100 Excellent
Architecture 90
Code Quality 88
Innovation 90
Learning Curve 88

stripe-node is the official server-side client library for the Stripe API, maintained by Stripe itself. It wraps every Stripe resource — customers, payment intents, subscriptions, Connect accounts, checkout sessions, and more — behind a consistent, fully typed interface generated directly from Stripe’s own API specification.

Beyond raw API access, the library handles the operational details that payment integrations need: automatic request retries, idempotency key support, async-iterable auto-pagination for list endpoints, and webhook signature verification. It ships as separate builds for Node.js, Deno, and edge/worker runtimes, with zero runtime dependencies, making it a drop-in choice for any JavaScript or TypeScript backend that needs to talk to Stripe.

What You Get

  • A fully typed TypeScript client covering all Stripe resources (Customers, PaymentIntents, Subscriptions, Connect accounts, Checkout Sessions, and more) with types generated from Stripe’s own OpenAPI spec.
  • Built-in request handling: automatic retries, configurable timeouts, idempotency key support, and async-iterable auto-pagination for list endpoints.
  • Webhook signature verification utilities (Webhooks.constructEvent) for safely handling Stripe events in your own endpoints.
  • Multi-runtime entry points (Node.js, Deno, and edge/worker environments) built from the same resource layer, distributed as both CJS and ESM.
  • Zero runtime dependencies, keeping the install footprint small and the supply-chain surface minimal.

Common Use Cases

  • Charging customers and managing subscriptions from a Node.js/TypeScript backend.
  • Onboarding and paying out connected accounts via Stripe Connect.
  • Verifying and processing Stripe webhook events in an Express, Next.js, or serverless handler.
  • Building custom billing/invoicing flows on top of Stripe’s Invoices and Billing APIs.

Under The Hood

Architecture — The library is organized around a central Stripe class (src/stripe.core.ts, ~2,700 lines) that owns configuration, API-key/version negotiation, and request dispatch. Every one of the 101 resource modules under src/resources/ (Charges, Customers, PaymentIntents, Connect, Billing, and the newer V2 endpoints) extends the shared StripeResource base class, which builds path-templated REST calls and hands them to RequestSender (~780 lines) for retries, timeouts, and idempotency handling. autoPagination.ts layers async-iterable pagination helpers on top of any list method, and separate entry points (stripe.cjs.node.ts, stripe.esm.node.ts, stripe.cjs.worker.ts, stripe.esm.worker.ts) select platform-specific HTTP and crypto backends from src/net and src/platform, so the same resource layer runs unmodified in Node.js, Deno, and edge/worker runtimes.

Tech Stack — Written entirely in TypeScript (96% of the codebase), with dependencies: {} in package.json — the library ships with zero runtime dependencies and only a peer dependency on @types/node. Builds are dual CJS/ESM, orchestrated via a justfile/Makefile, and use native fetch/http per platform rather than pulling in axios or node-fetch (node-fetch appears only as a devDependency for the test suite).

Code Quality — 24 spec files under test/ exercise resources, the networking layer, crypto, telemetry, webhook signature verification, auto-pagination, and the newer V2 decimal/coercion paths. The test script runs a strict tsc typecheck against tsconfig.cjs.json before Mocha executes, and ESLint/Prettier configs enforce consistent style across the large generated resource surface.

API Design — The API is resource-oriented and highly consistent (stripeClient.customers.create/.retrieve/.list/.update/.del follow the same shape across all 101 resources), with types that track the latest Stripe API version and an idiomatic for await auto-pagination helper. The README documents lazy client instantiation to avoid build-time “missing API key” errors, and example projects cover webhook signature verification across Express, Next.js, NestJS, Koa, and Deno, keeping onboarding friction low despite the very large API surface.

Used by 80 apps in this directory

TypeScript
94%
AGPL 3.0

Papra

Bookmarks Archiving

5,587

Self-hosted document archiving with email ingestion, OCR full-text search, and pluggable storage — store once, find anything.

View details
86
Repo Health
82
Technical
69
Dependency
Built with
TypeScript 94%
Updated 6 days ago
TypeScript
96%
MIT

Payload CMS

Blogging · CMS · Developer Tools

45,458

The open-source, Next.js-native headless CMS that lives inside your /app folder and gives you a full TypeScript backend instantly.

View details
92
Repo Health
88
Technical
65
Dependency
Built with
TypeScript 96%
Updated 5 days ago
TypeScript
90%
MIT

Plasmic

CMS · Design Tools · Low Code Platforms

7,125

The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.

View details
81
Repo Health
78
Technical
64
Dependency
Built with
TypeScript 90%
Updated 6 days ago
Python
55%
Other

PostHog

Ab Testing Experimentation · Analytics · Developer Tools

40,397

The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.

View details
92
Repo Health
80
Technical
65
Dependency
Built with
Python 55%
TypeScript 36%
Updated 5 days ago
TypeScript
81%
AGPL 3.0

Postiz

Automation · Social Media

37,683

The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.

View details
92
Repo Health
70
Technical
63
Dependency
Built with
TypeScript 81%
JavaScript 11%
Updated 6 days ago
TypeScript
95%
AGPL 3.0

Rallly

Scheduling

5,318

Self-hostable group scheduling polls that eliminate back-and-forth emails and find the best meeting time for everyone.

View details
91
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 95%
Updated 6 days ago
TypeScript
96%
Other

Refly

AI Development · Automation · No Code Platforms

7,537

Build deterministic, versioned agent skills from natural language—run them anywhere from Claude Code to Slack.

View details
68
Repo Health
76
Technical
63
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
TypeScript
98%
AGPL 3.0

Rybbit

Analytics

13,155

Open-source, privacy-friendly web and product analytics with cookieless tracking, session replays, funnels, and real-time dashboards — a self-hostable alternative to Google Analytics.

View details
87
Repo Health
85
Technical
68
Dependency
Built with
TypeScript 98%
Updated 5 days ago
TypeScript
97%
AGPL 3.0

Snapify

Collaboration · Productivity

1,016

Open-source, self-hostable screen recording and video sharing built as a Loom alternative — no accounts required to watch, full S3-backed storage for your data.

View details
38
Repo Health
68
Technical
69
Dependency
Built with
TypeScript 97%
Updated 1 years ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers