supabase
CHAPTER 30 / 34
읽기 약 2분
FUNCTION
구독/결제 연동
핵심 개념
Stripe와 Supabase를 연동하여 구독 결제 시스템을 구현합니다. 웹훅으로 결제 상태를 동기화합니다.
코드 분석
// Stripe Webhook → Supabase 동기화
// app/api/webhook/stripe/route.ts
export async function POST(req: Request) {
const event = stripe.webhooks.constructEvent(...)
switch (event.type) {
case 'customer.subscription.created':
await supabase.from('subscriptions').upsert({
user_id: metadata.userId,
status: 'active',
plan: subscription.items.data[0].price.id
})
break
case 'customer.subscription.deleted':
await supabase.from('subscriptions')
.update({ status: 'canceled' }).eq('user_id', userId)
}
}AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 Supabase '구독/결제 연동' RLS 정책에서 보안 구멍·우회 가능한 케이스·과도한 권한을 찾고 안전한 정책 코드를 작성해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'구독/결제 연동'를 Next.js + Supabase로 구현한 실전 풀스택 코드(Auth/RLS/Realtime 포함)를 만들어줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 Supabase '구독/결제 연동' 관련 테이블·RLS 정책 전체를 분석해서 보안 취약점·N+1 쿼리·인덱스 누락을 우선순위 리포트로 만들어줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
Supabase '구독/결제 연동' vs Firebase의 동일 기능 구현을 2026년 기준 비용·성능·DX로 솔직히 비교해줘.
⭐ 이것만 기억하세요
구독/결제 연동은 이 3가지만 확실히 잡으세요
1.결제 로직을 클라이언트에서 처리하면 가격 변조와 결제 상태 위조가 가능합니다
2.Edge Function에서 Stripe 세션을 생성하고, 웹훅으로 결제 완료를 확인해서 subscriptions 테이블을 업데이트합니다
3.다음 챕터에서 학습 진도를 저장하는 시스템을 구현합니다
공유하기
진행도 30 / 34