~/VibeHandbook
무료 PDF

챕터 16 · 04

결제 연결하기

돈을 받고 싶다면, 1인 빌더를 위한 표준 경로는 Stripe다 (판매세를 대신 처리하길 원한다면 Lemon Squeezy / Paddle — 등록 판매자()로서, 더 큰 몫을 떼어가지만 세금 골치를 사라지게 한다). 그 메커니즘은 반복적이고 잘 문서화되어 있어서, 위임하기에 이상적이다. 필요한 조각들:

  • 체크아웃 흐름 — Stripe Checkout이 가장 빠르다; 호스팅된 결제 페이지를 건네줘 당신이 원시 카드 정보를 절대 만지지 않게 한다.
  • 웹훅은 당신 앱이 "결제가 됐나?"라고 거듭 물어보는 대신, 결제가 성사되는 순간 결제 회사가 당신 앱에 전화를 걸어주는 것이라고 생각하면 된다. 웹훅 엔드포인트가 바로 그것이다: 결제 제공자가 호출하는 엔드포인트(당신 서버의 )로, 결제가 실제로 성공했을 때 당신 앱이 알게 해준다. 이것이 초보자가 건너뛰고는 왜 주문이 절대 이행되지 않는지 궁금해하는 부분이다. 당신 사이트로 돌아오는 리다이렉트는 닫히거나, 막히거나, 위조될 수 있다; 웹훅이 서버 대 서버의 진실의 원천이다. 리다이렉트만 절대 믿지 말라; 웹훅을 믿어라.
  • 이용 권한(entitlement)을 저장하는 방법 — 데이터베이스에서 사용자를 결제 완료로 표시하라. 그래야 새로고침이나 새 기기에서도 그들이 산 것을 여전히 본다.

핵심 통찰은 어느 화살표를 믿느냐다. 당신 사이트로 돌아오는 사용자 리다이렉트는 사라지거나 위조될 수 있다; 웹훅이 실제로 제품을 잠금 해제하는 서버 대 서버의 선이다:

 ┌──────┐  1. 구매 클릭   ┌───────────┐
 │사용자│────────────────▶│  YOUR APP │
 └──────┘                 └─────┬─────┘
    ▲                           │ 2. 체크아웃 세션 생성
    │                           ▼
    │                    ┌─────────────┐
    │  3. 호스팅서 결제  │   STRIPE    │
    └───────────────────▶│   Checkout  │
       (카드 정보)       └──────┬──────┘
                                │
          ┌─────────────────────┴─────────────────────┐
          │ 4a. 리다이렉트 복귀     4b. WEBHOOK 호출   │
          │     (분실/위조 가능)        (서버→서버,    │
          ▼                              서명·신뢰됨)  ▼
   ┌──────────────┐                          ┌────────────────────┐
   │ 감사 페이지  │   ✗ 여기서 해제 금지    │ YOUR APP /webhook   │
   │ (UI 전용)    │                         │ 서명 검증 →         │
   └──────────────┘                          │ 사용자 PAID 처리 ✓ │
                                             └────────────────────┘

AI에게 세 가지 모두를 스캐폴드하고 웹훅 서명 검증을 설명하게 하라. 그것이 보안에 민감한 단 하나의 단계이기 때문이다 — 그것이 없으면 당신의 웹훅 URL을 찾은 누구라도 "결제 성공" 이벤트를 위조해 제품을 공짜로 풀 수 있다. 라이브 키로 전환하기 전에 Stripe의 테스트 모드에서 그들의 테스트 카드 번호(4242 4242 4242 4242가 유명하다)로 모든 것을 테스트하고, Stripe 를 써서 웹훅 이벤트를 당신 로컬 머신으로 포워딩해 그것들이 발화하는 것을 지켜보라. 테스트 모드 리허설을 건너뛰지 말라. 당신 앱을 통과하는 첫 진짜 돈은, 이미 열 번은 동작하는 것을 본 거래여야 한다.

오프라인으로 보고 싶으세요?

책 전체를 PDF나 EPUB으로 무료로 내려받으세요.