What problem does it solve? Building payment flows from scratch requires wiring checkout sessions, subscription lifecycle events, customer portals, and webhook synchronization into your backend. This Skill provides a Convex component that handles the complete Stripe integration lifecycle so payment data stays synchronized with your Convex database automatically. ## Core Features & Use Cases - Checkout and Subscriptions: Create Stripe Checkout sessions, manage subscription upgrades and downgrades, and adjust seat quantities through the StripeSubscriptions client API. - Webhook Synchronization: Automatically sync customers, subscriptions, payments, and invoices into Convex tables by handling 10+ Stripe webhook events. - Customer Self-Service: Generate Customer Portal sessions so users can update payment methods, download invoices, and manage billing themselves. - Use Case: A SaaS team links subscriptions to organizations with seat-based pricing, letting teams add or remove seats dynamically while payment data stays queryable in real time. ## Quick Start Install the @convex-dev/stripe npm package, register the component in convex.config.ts, and route Stripe webhooks to the component's handler in http.ts.