spencerpauly/awesome-cursor-skills

adding-stripe

Integrate Stripe payments into a web application, including checkout sessions, webhooks, and customer portal.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill adding-stripe

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

Add Stripe Payments

Use this skill when the user asks to add payments, billing, subscriptions, or Stripe integration.

Steps

  1. Install the SDK
bash
   npm install stripe @stripe/stripe-js
  1. Add environment variables
   STRIPE_SECRET_KEY=sk_test_...
   NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
   STRIPE_WEBHOOK_SECRET=whsec_...
  1. Create a Stripe client module — create lib/stripe.ts:
ts
   import Stripe from "stripe";

   export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
     apiVersion: "2024-12-18.acacia",
   });
  1. Create a checkout API route — create an endpoint that creates a Stripe Checkout session:
ts
   const session = await stripe.checkout.sessions.create({
     mode: "subscription", // or "payment" for one-time
     payment_method_types: ["card"],
     line_items: [{ price: priceId, quantity: 1 }],
     success_url: `${origin}/success?session_id={CHECKOUT_SESSION_ID}`,
     cancel_url: `${origin}/pricing`,
     customer_email: userEmail,
   });
   return redirect(session.url!);
  1. Create a webhook handler — create a POST endpoint at /api/webhooks/stripe:
  • Verify the webhook signature using stripe.webhooks.constructEvent.
  • Handle key events: checkout.session.completed, customer.subscription.updated, customer.subscription.deleted, invoice.payment_failed.
  • Update your database with the subscription status.
  1. Add customer portal (optional) — create an endpoint that redirects to stripe.billingPortal.sessions.create so users can manage their subscription.
  1. Add pricing page UI — create a pricing page with plan cards that call the checkout API route.

Notes

  • Always verify webhook signatures — never trust unverified payloads.
  • Use Stripe CLI (stripe listen --forward-to localhost:3000/api/webhooks/stripe) for local webhook testing.
  • Store the Stripe customer ID in your user database to avoid creating duplicate customers.
  • Use stripe.prices.list to fetch prices dynamically instead of hardcoding them.

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills