이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요. 응원투두의 월간 자동 갱신 구독을 연동 중입니다. 채널톡에서 기술 문의는 개발자 커뮤니티에 남겨 달라는 안내를 받아 문의드립니다.
개발 환경: WebView, @apps-in-toss/web-framework 3.6.0
테스트 환경: QR 테스트, 상품은 미노출 상태이며 실제 결제는 아직 실행하지 않았습니다.
서버는 mTLS로 주문을 검증하고, 토스 사용자별로 이용권을 저장합니다.
공식 정기결제 문서의 CREATED 콜백 예시와 getSubscriptionInfo 반환 타입에서 expiresAt이 null일 수 있어, 최초 결제 성공 후 이용권 지급 기준을 확인하고 싶습니다.
- CREATED 콜백은 processProductGrant 성공 및 completeProductGrant 이전에 발송되나요? 최초 expiresAt이 null이거나 콜백이 아직 없을 때, 서버가 최초 이용 기간을 확인하는 공식 API 또는 산정 기준은 무엇인가요? 지급 전 성공 반환이나 임의의 30일 만료일 계산을 피하고 싶습니다.
- occurredAt, expiresAt의 시간대 없는 ISO 문자열은 KST인가요? gracePeriodExpiresAt과 expiresAt을 서버에서 어떻게 해석해야 하나요?
- 자동 갱신 시 웹훅 orderId는 최초 주문과 동일한가요? 다르다면 processProductGrant의 subscriptionId 또는 다른 공식 식별자로 기존 이용자와 갱신 주문을 연결할 수 있나요?
- 콜백 누락·등록 전 결제의 서버 재조회/재전송 방법과 웹훅 재시도 정책이 있나요? 클라이언트 getSubscriptionInfo 외 서버에서 이용권을 검증할 방법도 확인 부탁드립니다.
결제만 성공하고 이용권을 받지 못하는 상황을 예방하려고 합니다. 공식 처리 순서나 참고 구현을 안내해 주시면 감사하겠습니다.
참고 문서: https://developers-apps-in-toss.toss.im/documentation/common/monetization/iap/in-app-subscription.md
appName (선택)
cheertodo