API 및 플랫폼 설정
API 키 관리와 플랫폼별 설정을 관리합니다.
API 키, Android, iOS 탭으로 구성됩니다.
API 키
서버 연동에 필요한 키를 관리합니다.
| 항목 | 설명 |
|---|---|
| Service Key | API 호출 시 사용하는 서비스 키입니다. 복사 버튼을 통해 클립보드에 복사할 수 있습니다. |
| Secret Key | API 인증에 사용하는 시크릿 키입니다. 복사 버튼을 통해 클립보드에 복사할 수 있습니다. |
Secret Key는 외부에 노출되지 않도록 주의해야 합니다. 갱신 버튼을 통해 새로운 키를 발급할 수 있습니다.
Android 설정
Android 앱 내 결제(IAP) 영수증 검증에 필요한 설정을 관리합니다.
| 항목 | 설명 |
|---|---|
| 패키지 이름 | Android 앱의 패키지 이름을 입력합니다. (필수, 예: com.example.game) 영수증 검증 시 패키지명 일치 여부를 확인하는 데 사용됩니다. |
| 라이선스 키 | Google Play Console에서 발급받은 RSA 공개 키를 입력합니다. (필수) 영수증 서명 검증에 사용됩니다. |
| 인증 키 파일 | Google Play 서비스 계정의 JSON 인증 키 파일을 업로드합니다. (필수) Google Play Developer API 연동에 사용됩니다. |
패키지 이름과 라이선스 키는 Google Play 영수증 검증에 사용됩니다. 패키지 이름은 영수증의 패키지명 일치 여부를 확인하여 위조를 방지하며, 라이선스 키는 Google Play에서 전달된 영수증 서명을 검증하는 데 사용됩니다. 라이선스 키는 Google Play Console > 수익 창출 설정에서 확인할 수 있습니다. 인증 키 파일은 Google Cloud Console > IAM 및 관리자 > 서비스 계정에서 JSON 키를 생성하여 다운로드할 수 있습니다.
iOS 설정
iOS 앱 내 결제(IAP) 영수증 검증 및 App Store Server API 연동에 필요한 설정을 관리합니다.
| 항목 | 설명 |
|---|---|
| Bundle Identifier | iOS 앱의 번들 식별자를 입력합니다. (필수, 예: com.example.game) 영수증 검증 시 번들 ID 일치 여부를 확인하는 데 사용됩니다. |
| Application ID | App Store Connect에서 확인할 수 있는 앱 ID를 입력합니다. (필수) |
| Team ID | Apple Developer 계정의 팀 ID를 입력합니다. (필수) |
| Service ID | App Store Server API 연동에 사용되는 서비스 ID를 입력합니다. |
| Key ID | App Store Server API 인증에 사용되는 키 ID를 입력합니다. |
| Master Password | 정기구독 상품의 영수증 검증 시 Apple 서버에 전송되는 앱 전용 비밀번호를 입력합니다. |
| Key File | App Store Server API 인증에 사용되는 키 파일(.p8)을 업로드합니다. (필수) |
Bundle Identifier와 Master Password는 iOS IAP 영수증 검증에 사용됩니다. Bundle Identifier는 영수증 위조를 방지하기 위해 번들 ID 일치 여부를 확인하며, Master Password는 정기구독 상품 검증 시 Apple 서버(verifyReceipt)에 전송됩니다. Key File(.p8)과 Key ID는 Apple Developer > Certificates, Identifiers & Profiles > Keys에서 생성 및 다운로드할 수 있습니다.
Unity IAP 5.0 (StoreKit 2) 의 서명된 거래(JWS) 검증은 Key File(.p8)이 필요하지 않습니다. JWS 에 내장된 인증서 체인을 Apple Root CA G3 기준으로 로컬 검증하므로, Key ID·Key File 은 Sign in with Apple(소셜 로그인) 전용입니다.
App Store Server Notifications (Webhook)
Apple에서 환불, 구독 변경 등의 이벤트를 실시간으로 수신하려면 iOS 설정 하단의 Webhook URL 을 App Store Connect에 등록합니다. 이 URL은 게임별로 자동 생성되며, 복사 버튼으로 클립보드에 복사할 수 있습니다.
https://service-api.playnanoo.com/webhook/apple/{gameId}
{gameId}는 게임 채널 아이디로 자동 치환됩니다. 콘솔 화면에 표시된 실제 URL을 복사 버튼으로 복사해 사용하세요.
| 단계 | 설명 |
|---|---|
| 1 | App Store Connect > 앱 선택 > 앱 정보 > App Store Server Notifications 로 이동 |
| 2 | Production Server URL 에 위 Webhook URL 을 입력 |
| 3 | Sandbox Server URL 에도 동일한 URL 을 입력 |
| 4 | Notification Version 은 "Version 2" 를 선택 후 저장 |
Webhook은 게임(앱) 단위로 동작하므로 SDK 버전과 무관하게 URL만 등록하면 환불 추적이 적용됩니다. Production / Sandbox 구분은 Apple이 전송하는 payload의 environment 필드로 자동 판별됩니다.