Flutter 인앱 결제 가이드
작성일: 2026-04-06 Last Updated: 2026-04-06 대상: Flutter Mobile App (iOS / Android) 공통 참조:
../common/api-integration.md(API 연동),../common/licensing.md(라이선스 관리)
목차
- 인앱 결제 아키텍처
- RevenueCat SDK 통합
- 구독 모델 설계
- StoreKit 2 (iOS) + Google Play Billing (Android)
- 서버 사이드 영수증 검증 (Laravel)
- 구독 상태 관리
- 가격 테스트 / A/B 테스트
- 환불 처리
- 크로스 플랫폼 구독 동기화
- Introductory / Promotional Offers
- 체크리스트
1. 인앱 결제 아키텍처
전체 흐름
Flutter 앱
│
├── RevenueCat SDK (권장)
│ │
│ ├──→ App Store (StoreKit 2) ──→ Apple 서버
│ ├──→ Google Play Billing ──→ Google 서버
│ └──→ RevenueCat 서버 ──→ Webhook → Laravel 서버
│
└── 또는 in_app_purchase (직접 구현)
│
├──→ App Store / Google Play
└──→ 영수증 → Laravel 서버 → Apple/Google API 검증
RevenueCat vs 직접 구현
| 항목 | RevenueCat | 직접 구현 (in_app_purchase) |
|---|---|---|
| 구현 복잡도 | 낮음 | 높음 |
| 크로스 플랫폼 통합 | 자동 | 수동 구현 |
| 영수증 검증 | 서버 사이드 자동 | 직접 구현 |
| 구독 상태 추적 | 자동 (Webhook) | 직접 구현 |
| A/B 테스트 | 내장 (Experiments) | 직접 구현 |
| 분석 대시보드 | 내장 | 직접 구현 |
| 비용 | MTR $2,500 이하 무료 -> 매출 1% | 무료 |
| 초기 스타트업 | 강력 권장 | 대규모 팀에 적합 |
권장: 초기 프로젝트는 RevenueCat. MTR이 $10,000+ 이상이고 엔지니어 리소스 충분 시 직접 구현 검토.