사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
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
- Install the SDK
npm install stripe @stripe/stripe-js- Add environment variables
STRIPE_SECRET_KEY=sk_test_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...- Create a Stripe client module — create
lib/stripe.ts:
import Stripe from "stripe";
export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
apiVersion: "2024-12-18.acacia",
});- Create a checkout API route — create an endpoint that creates a Stripe Checkout session:
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!);- Create a webhook handler — create a
POSTendpoint 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.
- Add customer portal (optional) — create an endpoint that redirects to
stripe.billingPortal.sessions.createso users can manage their subscription.
- 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.listto fetch prices dynamically instead of hardcoding them.



