빌링API 코드 정의
게임 플랫폼 전체 공통 코드표 참고
- 게임 플랫폼 전체에서 사용 중인 아래 공통 코드표를 빌링 시스템에서도 사용
- 빌링 시스템에서 추가 정의해서 사용하는 아래 코드도 참고 필요
개요
- HYBE IM 게임 플랫폼의 모든 시스템에서 사용하는 공통 코드의 정의입니다.
- 아래 내용은 모든 시스템에서 동일하게 사용합니다.
- 각 시스템에서만 사용하는 코드가 필요하면 자체 정의하되 다른 시스템에서도 필요로 예상되면 해당 문서에 추가합니다.
- 코드 규칙
- 대문자를 사용
- 코드의 단어 구분은 언더바( _ ) 사용. 특정 개발 언어의 대시 사용 불가 제한 등을 고려
- 가능한 짧고 쉬운 영어 단어를 사용 ## 코드 리스트
그룹 코드
| 그룹 코드 | 설명 |
|---|---|
| APP_STORE | 앱 또는 게임을 다운로드한 플랫폼 스토어(개발사 입장에서는 배포한 스토어) 스토어(APP_STORE_와 결제수단(PAYMENT)이 다를 수 있습니다. - 안드로이드 앱인데 GOOGLE_PLAY, GALAXY_STORE, ONE_STORE 등 다운로드 가능한 플랫폼 스토어는 여러 종류가 될 수 있음 - 동일 Google Play Store이지만 모바일과 PC를 구분해야할 수 있음 |
| OS | 앱 또는 어플리케이션이 실행되는 OS - 최대 10글자의 상세코드 정의 |
| PAYMENT | 결제가 진행되어 돈을 지급한 행위가 발생한 스토어, 수단, 방법 등 - APP_STORE와 분리한 이유는 외부 결제를 지원하는 경우의 확장성을 고려(예. Google의 외부 결제) |
| ENV | 어플리케이션(시스템)의 stage 구분 |
| ID_TYPE | 유저의 ID 종류 - 여러 종류의 ID 체계에서 어떤 ID 종류인지 구분해야하는 경우가 필요 |
상세 코드
| 그룹 코드 | 상세 코드 | Enum | 설명 |
|---|---|---|---|
| APP_STORE | GOOGLE_PLAY | 0 | Google play Store |
| GOOGLE_PLAY_PC | 7 | Google play Store 윈도우에서 다운로드하면 게임의 런쳐가 다운로드 되어 실행 가능한 형태 | |
| APPLE_APP_STORE | 1 | Apple App Store | |
| STEAM | 2 | Steam | |
| 3 | - 사명 변경으로 ‘DRI Platform PC’ 로 명칭 변경 | ||
| BIFROST | 12 | DRIMAGE Launcher 런처를 통해서 앱을 다운로드 | |
| GALAXY_STORE | 4 | 삼성 갤럭시 스토어(지원 예정) | |
| 5 | - | ||
| DMM | 6 | 일본 DMM Games (필요시 지원 예정) | |
- 인게임과 웹샵 구분으로 Deprecated | 8 | MyCard - 기획자 요청으로 앱을 다운로드한 스토어는 아니지만 적용 | |
| CODA_SHOP | 9 | Codashop - 기획자 요청으로 앱을 다운로드한 스토어는 아니지만 적용 | |
| UNIPIN | 10 | UniPin - 기획자 요청으로 앱을 다운로드한 스토어는 아니지만 적용 | |
| XSOLLA_WEBSHOP | 11 | 엑솔라에서 웹 페이지로 제공되는 웹 결제 샵 - 엑솔라는 결제 수단(PAYMENT) - 엑솔라에서 웹 페이지를 구현 후 결제 기능을 제공하는데, 해당 웹 샵에서 결제가 이뤄질 때 XSOLLA_WEBSHOP 코드를 사용 | |
| BIFROST | 12 | DRIMAGE Launcher - 구 IM_LAUNCHER 대체 | |
| EPIC_GAMES_PC | 13 | 에픽게임즈 PC - PC 한도 제한 등을 구분 및 KPI 확인을 위해 PC와 MO명확히 구분 | |
| EPIC_GAMES_MO | 14 | 에픽게임즈 모바일 - 기능 확장을 위해 모바일 코드 미리 생성 | |
| ONE_STORE_ANDROID | 15 | 원스토어 Android - ONE Store측에서 플랫폼 확장으로 Windows가 추가되어 구분 | |
| ONE_STORE_WINDOWS | 16 | 원스토어 Windows - ONE Store측에서 플랫폼 확장으로 Windows가 추가되어 구분 | |
| BILLING_WEB_SHOP | 17 | 빌링 자체 웹샵 - MyCard 등의 결제 수단을 이용해서 제공되는 자체 웹샵 | |
| OS | IOS | null | 애플 IOS |
| MACOS | null | ||
| ANDROID | null | 구글 안드로이드 OS | |
| LINUX | null | ||
| WIN64 | null | MS 윈도우 64bit | |
| WIN32 | null | MS 윈도우 32bit | |
| PAYMENT (결제 수단) | GOOGLE_PLAY | 0 | 구글 플레이스토어를 이용한 결제 - 참고: 구글 PC버전을 위한 결제도 지원 중 |
| APPLE_APP_STORE | 1 | 애플 앱스토어를 이용한 모바일 결제 | |
| STEAM | 2 | 스팀 인게임 소액 결제 - 유저가 스팀 지갑에 충전해둔 금액을 이용해서 오버레이 구매를 통한 결제 방법 | |
| 3 | 필요시 지원 예정 | ||
| XSOLLA | 4 | 엑솔라를 이용한 결제 방식 - 인게임 결제(예. PC에서 IM_LAUNCHER를 이용한 결제)와 엑솔라 웹샵 결제 지원 중 | |
| CODA_SHOP | 5 | Codashop | |
| UNIPIN | 6 | UniPin | |
| MYCARD | 7 | MyCard 전용 웹샵을 퍼블리셔(또는 개발사)에서 직접 구축 후 결제 수단을 MYCARD로 사용하는 형태의 결제 - 전용 웹샵에 대한 구축 논의 후 사용 가능 | |
| GALAXY_STORE | 8 | 삼성 Galaxy Store - 지원 예정 | |
| 9 | 필요시 지원 예정 | ||
| PG | 10 | Payment Gateway(토스 등)를 이용한 결제 | |
| AppCharge | 11 | ||
| EPIC_GAMES | 12 | Epic Games | |
| ENV | LOCAL | null | |
| DEV | null | ||
| QA | null | QA 환경 | |
| QA_ES | null | QA외부 - QA Stage를 외부 사용자에게 제공해야하는 경우에 사용 - QA stage가 외부에게 오픈 안된 서비스로 사용하고 있어서 구분이 필요한 경우 | |
| PROD | null | LIVE 환경 | |
| ID_TYPE | IMID | null | - HYBE IM의 IMID, PJID내 사용자를 식별하는 고유 Key - PJID에 따라서 서로 다른 IMID가 사용하게 됨 |
| MID | null | - 드림에이지 통합 회원을 구분하는 기본 단위 - N건의 IMID를 대표하는 id | |
| GAME_UID | null | 게임쪽에서 자체 정의한 유저ID의 형태를 지칭 | |
| CI_GROUP_ID | null | CI가 동일한 유저를 그룹화해둔 ID | |
| SYSTEM_OPERATOR | null | 시스템 운영자(시스템 Admin, 운영자, 시스템 사용하는 GM 임직원과 같은 시스템을 사용 및 운영하는 내부 직원) |
빌링 시스템에서 사용 중인 추가 코드표
그룹 코드
| 그룹 코드 | 설명 |
|---|---|
| PURCHASE_STATUS | 구매 상태 |
상세 코드
| 그룹 코드 | 상세 코드 | 설명 |
|---|---|---|
| PURCHASE_STATUS | RESERVED | 구매 예약 - 사용자의 결제를 준비하는 단계로 결제에 필요한 정보가 빌링 시스템에 전달되어 예약된 상태 |
| RESERVED_CANCEL | 구매 예약 취소 - 예약 상태의 구매에 대해서 명시적으로 예약 취소된 상태 - 예) 게임쪽에서 유저 구매 중간 이탈에 대해서 명확히 취소 처리하는 경우에 사용 | |
| VERIFY_SUCCESS | 유저의 구매 완료 요청에 대해서 결제 검증이 성공한 상태 - 빌링 API는 필요시 각 결제 스토어와 검증을 해당 단계에서 진행하고 성공한 상태 - 아직 게임 서버에서는 유저에게 상품지급은 안된 단계 - COMPLTED로 변경되지 않고 해당 상태로 방치되어 있다면 게임 서버에서 상품 지급이 누락된 상태로 간주함 | |
| FAIL_GIVE_PRODUCT | 지급 실패 - 빌링 시스템에서 상품 지급 API를 직접 호출하는 결제 수단에 대해서 호출 결과 실패인 경우. 예) XSOLLA, My Card, Unipin, Codashop | |
| COMPLETED | 최종 완료 상태 - 게임서버에서 아이템 지급 완료된 상태 - 빌링 시스템에도 최종 완료 - 필요한 경우 Google 등 외부 결제 스토어까지 소모(consume) 완료된 상태 | |
| SCHEDULED_CANCEL | 취소 예정 - 고객센터 등을 통해 회원이 정상적으로 거래 취소를 요청하여 스토어 콘솔 취소 전 거래 내역에 Marking한 상태 | |
| PURCHASE_CANCEL | 구매 취소 - 본 거래의 상태가 완료 또는 기타 상태에서 취소로 전환된 상태 |