Agent skill · software engineering · aiskillstore

stripe-handler

Handle Stripe payments, custom checkouts, and webhook fulfillment outside of standard plans/credits.

Why this skill is useful

Adds specific implementation patterns for handling custom Stripe payment flows that the AI wouldn't reliably generate on its own.

What it needs

Requires inngest, stripe installed locally. Requires stripe account access. About 2k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.

What this skill does

Stripe Handler Use this skill when you need to implement payment logic using Stripe, specifically for use cases that are NOT standard SaaS subscription plans or standard Credit packages (which are handled by plans-handler and credits-handler respectively). When to use Implementing "Buy One-time Product" flows (e.g., Courses, Digital Goods). Creating custom "Service" payments. Handling checkout.session.completed for custom metadata. Customizing src/app/api/webhooks/stripe/route.ts for non-standard events. Offloading heavy webhook processing to background tasks (via Inngest). Process 1. Identify Payment Type Before writing code, determine the nature of the payment: Is it a Subscription Plan? -> Use plans-handler. Is it a Credit Package? -> Use credits-handler. Is it a Custom One-time or Recurring Product? -> Continue with this skill. 2. Create Checkout Session (API/Action) You need a server-side endpoint to create the Stripe Checkout Session. File: Create a new route (e.g., src/app/api/app/orders/create/route.ts) or Server Action. Import: import stripe from "@/lib/stripe"; Metadata: CRITICAL. Always attach metadata to the session to identify the purchase type in the webhook. URLs: Use the standard success/error pages or custom ones if needed. Success: ${process.env.NEXTPUBLICAPPURL}/app/subscribe/success?sessionid={CHECKOUTSESSIONID} Error: ${process.env.NEXTPUBLICAPPURL}/app/subscribe/error 3. Handle Webhook Fulfillment All Stripe events go to src/app/api/webhooks/stripe/route.ts. File: src/app/api/webhooks/stripe/route.ts Locate: onCheckoutSessionCompleted (for one-time) or handleOutsidePlanManagementProductInvoicePaid (for invoices). Implement: 1. Extract metadata from the event object. 2. Check if metadata.type matches your custom feature. 3. If yes: Run your fulfillment logic. Simple Logic: Update DB directly. Heavy Logic: Dispatch an Inngest event to handle it in the background. 4. If no: Let the function fall through to standard plan/credit handling. 4. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aiskillstore/stripe-handler

View the source on GitHub

Browse the @skills marketplace