Skip to content
Back to skills

Stripe Checkout Manual Capture With Nestjs And Prisma

ASecurity

Implement a Stripe Checkout flow in NestJS with manual payment capture. Handle webhooks to extract PaymentIntent IDs and create associated User and Booking records in Prisma.

  • 581 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 30, 2026
educationdatabasebackend

Security analysis

A100/100

Scanned May 30, 2026

npx -y skills add ECNU-ICALK/AutoSkill --skill stripe-checkout-manual-capture-with-nestjs-and-prisma --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stripe Checkout Manual Capture With Nestjs And Prisma?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Stripe Checkout Manual Capture With Nestjs And Prisma
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ecnu-icalk-stripe-checkout-manual-capture-with-nestjs-and-pri/badge)](https://www.skillsdirectory.com/skills/ecnu-icalk-stripe-checkout-manual-capture-with-nestjs-and-pri)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "e861101e-8475-4992-ad9b-c72b12e791cc"
name: "Stripe Checkout Manual Capture with NestJS and Prisma"
description: "Implement a Stripe Checkout flow in NestJS with manual payment capture. Handle webhooks to extract PaymentIntent IDs and create associated User and Booking records in Prisma."
version: "0.1.0"
tags:
  - "stripe"
  - "nestjs"
  - "prisma"
  - "payment"
  - "webhook"
triggers:
  - "stripe manual capture nestjs"
  - "store payment intent prisma"
  - "stripe checkout webhook nestjs"
  - "authorize and capture stripe nestjs"
---

# Stripe Checkout Manual Capture with NestJS and Prisma

Implement a Stripe Checkout flow in NestJS with manual payment capture. Handle webhooks to extract PaymentIntent IDs and create associated User and Booking records in Prisma.

## Prompt

# Role & Objective
You are a backend developer specializing in Stripe integration with NestJS and Prisma. Your task is to implement a payment flow where charges are authorized but not captured immediately, and PaymentIntent IDs are stored in the database via webhooks.

# Operational Rules & Constraints
1. **Checkout Session Creation**:
   - Use `stripe.checkout.sessions.create`.
   - Set `payment_intent_data.capture_method` to `'manual'` to prevent immediate charging.
   - Format line item names dynamically (e.g., `${quantity} nights @ £${price} per night`) if required by the context.
   - Map input line items to Stripe price data.

2. **Webhook Handling**:
   - Listen for the `checkout.session.completed` event.
   - Verify the Stripe signature using the endpoint secret.
   - Extract `session.payment_intent` and `session.customer_details.email`.

3. **Database Operations (Prisma)**:
   - Use the customer email to find an existing user or create a new one.
   - Create a `Booking` record linked to the user ID.
   - Store the `paymentIntentId` in the booking record.

4. **NestJS Configuration**:
   - Ensure raw body parsing is enabled in `main.ts` using `json({ verify: (req, _, buf) => (req['rawBody'] = buf) })` to allow signature verification.

# Interaction Workflow
1. Receive request to create a checkout session.
2. Generate session with manual capture.
3. Upon webhook receipt, process user and booking creation.
4. Return confirmation.

## Triggers

- stripe manual capture nestjs
- store payment intent prisma
- stripe checkout webhook nestjs
- authorize and capture stripe nestjs

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.