핵심 요약
- 구독은 매달 결제 API를 호출하는 기능이 아니라, 결제 실패 시의 재시도(Retry)와 유예 기간(Grace Period)을 관리하는 정책 설계가 핵심이에요.
- 직접 구현하면 결제 스케줄링·재시도 로직·상태 관리(정상/미납/해지)를 모두 DB에 설계해야 하므로 초기 공수가 일반 결제의 3배 이상 나와요.
- 플랜 구조가 단순한 초기 서비스라면 구독관리 솔루션에 로직을 위임하고 기획자는 정책 값만 설정하는 편이 유리해요. 복잡한 종량제·커스텀 과금이 필요할 때만 직접 구현을 검토해요.
1직접 구현은 단순 API 연동이 아니라 정책 설계예요
구독을 "빌링키로 매달 결제 요청"으로만 보면 개발 공수를 크게 과소평가해요. 실제로 리소스가 집중되는 곳은 예외 상황 대응 로직이에요.
네 가지를 모두 직접 설계·구현해야 해요. 이 중 어느 하나라도 "나중에 하자"로 미루면, 실패·유예·해지 케이스가 실서비스에서 각각 사고로 터져요. 각 정책의 구체 수치와 상태 전이도는 결제 실패 대응에서 확인해요.
2솔루션 위임: 기획자는 정책만 설정해요
구독관리 솔루션을 쓰면 기획자는 복잡한 로직 설계 대신 운영 정책 설정에만 집중할 수 있고, 개발 구현 부담이 크게 줄어들어요.
- 자동 스케줄링: "월 단위 결제"만 지정하면 솔루션이 다음 결제일을 자동 계산하고 요청을 실행해요. 별도 크론 서버를 관리할 필요가 없어요.
- 내장 재시도 정책: 관리자 화면에서 재시도 횟수·간격을 설정하면 시스템이 알아서 시도하고, 최종 실패 시에만 웹훅(Webhook)으로 결과를 통보해요.
- 상태 관리 자동화: 카드 만료·한도 초과를 솔루션이 감지하고 상태를 업데이트해요. 기획자는 웹훅을 받아 서비스 제공 여부만 판단해요.
정리하면 직접 구현은 결제 시스템 자체를 만드는 일이고, 솔루션 위임은 결제 결과에 따른 비즈니스 대응에 집중하는 일이에요.
3직접 구현 vs 솔루션 위임 판단표
서비스 확장 단계와 과금 복잡도에 따라 어떤 방식이 팀 리소스를 가장 아끼는지 검토해요.
| 판단 기준 | 직접 구현이 유리한 팀 | 솔루션 위임이 유리한 팀 |
|---|---|---|
| 플랜 구조 | 사용량에 따라 매달 결제 금액이 완전히 달라지는 종량제 | 고정된 월·연간 구독료를 받는 SaaS·멤버십 |
| 개발 자산 | 사내에 이미 결제 상태 관리 시스템이 있음 | 빠른 시장 검증이 필요한 초기 팀, 결제 로직 리소스를 최소화할 팀 |
| 운영 요구 | 특정 고객마다 결제일을 수동으로 미뤄야 하는 등 특수 케이스가 많음 | 표준 회차 생성 규칙을 따르고 알림톡 등으로 자동 안내하고 싶은 팀 |
| 대표 케이스 | AWS 같은 인프라 서비스, 대형 마켓플레이스 | 뉴스레터, 커뮤니티 멤버십, B2B SaaS |
도입 순서
- MVP 단계: 구독관리 솔루션을 우선 채택해요. 결제 로직에 쓸 2주를 핵심 기능 고도화에 투입하는 편이 효율적이에요.
- 성장기: 구독자가 임계치를 넘고 플랜 변경(업·다운그레이드) 요구가 복잡해질 때 솔루션의 한계를 검토한 뒤 직접 구현으로 전환해요.
4기획 누락으로 2주 밀리는 지점
① 결제 실패 에러 코드 대응
잔액 부족인지 카드 유효기간 만료인지에 따라 고객 안내 문구가 달라야 해요. 이를 "결제 실패"로 통합 처리하면 추후 CS가 일일이 사유를 확인하는 운영 부하가 발생해요. PG사마다 에러 코드 체계가 다르므로 연동 시 해당 PG사의 에러 코드 문서를 확인해요.
② 회차 결제일 변경 예약
고객이 결제일 변경을 요청할 때 시스템이 지원하지 않으면 수동 해지 후 재가입이라는 운영 사고로 이어져요. 변경 가능 횟수(월 1회 제한 등) 정책을 미리 정해요.
③ 해지 버튼의 '즉시 해지' vs '기간 만료 해지'
해지 버튼을 눌렀을 때 즉시 권한을 뺏을지, 기간 만료 후 해지할지를 미리 확정하지 않으면 "해지했는데 왜 아직 결제됐냐" 민원이 들어와요.
실제로 붙이려면
빌링키와 청구 실행은 payments, 구독 계약 구조는 commerce 쪽에서 함께 확인해요.
- 빌링키 발급 — /billing/key-issue
- 즉시 청구 — /billing/charge-request
- 구독 플랜 계약 — /subscription/plan/contract
