이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요. Apps-in-Toss IAP 정기결제 callback 연동 중 문의드립니다.
개발 환경:
- Apps-in-Toss SDK3 Web
- React + Vite
- Node.js + Hono 서버
- Apps-in-Toss IAP 정기결제
테스트 환경:
- Apps-in-Toss Sandbox
- Android Toss 앱
- callback 등록 및 검증 테스트
callback 인증 방식에 대해 확인이 필요합니다.
- callback 요청은 Authorization: Basic 방식인가요, Authorization: Bearer 방식인가요?
- Basic Auth를 사용하는 경우 콘솔에 입력하는 값은 원문 값인가요, Base64 인코딩 값인가요?
- callback.registration_verification과 subscription.status_changed 요청의 인증 방식은 동일한가요?
- callback 성공 응답은 반드시 HTTP 204이어야 하나요?
또한 정기결제 callback의 다음 시간 필드가 timezone 없는 ISO 문자열로 전달됩니다.
- occurredAt
- subscription.previous.expiresAt
- subscription.current.expiresAt
정확한 시간 기준을 확인하고 싶습니다.
- 위 시간 필드는 UTC 기준인가요?
- Asia/Seoul 또는 KST 기준인가요?
- callback.registration_verification의 occurredAt도 동일한 기준인가요?
- previous.expiresAt과 current.expiresAt도 동일한 기준인가요?
- expiresAt이 null인 경우 status, accessGranted, autoRenew 중 어떤 값을 최종 구독 권한 판단 기준으로 사용해야 하나요?
- 같은 occurredAt에 서로 다른 상태 이벤트가 도착하면 어떤 이벤트를 최종 상태로 처리해야 하나요?
- Environment.getServerTime()을 callback timestamp 검증에 사용할 수 있나요? 아니면 클라이언트의 현재 서버 시각 확인 용도인가요?
공식적인 인증 헤더 형식, timestamp 기준, 구독 권한 판단 우선순위를 확인해 주시면 서버 연동에 반영하겠습니다.