본문으로 건너뛰기

빌링API 코드 정의

게임 플랫폼 전체 공통 코드표 참고

  • 게임 플랫폼 전체에서 사용 중인 아래 공통 코드표를 빌링 시스템에서도 사용
    • 빌링 시스템에서 추가 정의해서 사용하는 아래 코드도 참고 필요

개요

  • HYBE IM 게임 플랫폼의 모든 시스템에서 사용하는 공통 코드의 정의입니다.
  • 아래 내용은 모든 시스템에서 동일하게 사용합니다.
    • 각 시스템에서만 사용하는 코드가 필요하면 자체 정의하되 다른 시스템에서도 필요로 예상되면 해당 문서에 추가합니다.
  • 코드 규칙
    • 대문자를 사용
    • 코드의 단어 구분은 언더바( _ ) 사용. 특정 개발 언어의 대시 사용 불가 제한 등을 고려
    • 가능한 짧고 쉬운 영어 단어를 사용

코드 리스트

그룹 코드

그룹 코드설명
APP_STORE

앱을 다운로드한 플랫폼 스토어(개발사 입장에서는 배포한 스토어), 스토어(APP_STORE_와 결제수단(PAYMENT)이 다를 수 있습니다.

  • 안드로이드 앱인데 GOOGLE_PLAY, GALAXY_STORE, ONE_STORE 등 다운로드 가능한 플랫폼 스토어는 여러 종류가 될 수 있음
  • GOOGLE_PLAY_PC에서 XSOLLA로 구매
OS

앱 또는 어플리케이션이 실행되는 OS

  • 최대 10글자의 상세코드 정의
PAYMENT

결제가 진행되어 돈을 지급한 행위가 발생한 스토어, 수단, 방법 등

  • APP_STORE와 분리한 이유는 외부 결제를 지원하는 경우의 확장성을 고려(예. Google의 외부 결제)
ENV어플리케이션(시스템)의 stage 구분
ID_TYPE

유저의 ID 종류

  • 여러 종류의 ID 체계에서 어떤 ID 종류인지 구분해야하는 경우가 필요

상세 코드

그룹 코드상세 코드Enum설명
APP_STOREGOOGLE_PLAY0Google play Store
GOOGLE_PLAY_PC7

Google play Store

윈도우에서 다운로드하면 게임의 런쳐가 다운로드 되어 실행 가능한 형태

APPLE_APP_STORE1Apple App Store
STEAM2Steam
IM_LAUNCHER3

HYBE IM의 런쳐를 통해서 앱을 다운로드

  • 사명 변경으로 ‘DRI Platform PC’ 로 명칭 변경
BIFROST12DRIMAGE Launcher 런처를 통해서 앱을 다운로드
GALAXY_STORE4삼성 갤럭시 스토어(지원 예정)
ONE_STORE5

원스토어(지원 예정)

  • 과거 T스토어, olleh, u+, Naver N스토어 통합
DMM6일본 DMM Games (필요시 지원 예정)
MYCARD8

MyCard

  • 기획자 요청으로 앱을 다운로드한 스토어는 아니지만 적용
CODA_SHOP9

Codashop

  • 기획자 요청으로 앱을 다운로드한 스토어는 아니지만 적용
UNIPIN10

UniPin

  • 기획자 요청으로 앱을 다운로드한 스토어는 아니지만 적용
XSOLLA_WEBSHOP11

엑솔라에서 웹 페이지로 제공되는 웹 결제 샵

  • 엑솔라는 결제 수단(PAYMENT)
  • 엑솔라에서 웹 페이지를 구현 후 결제 기능을 제공하는데, 해당 웹 샵에서 결제가 이뤄질 때 XSOLLA_WEBSHOP 코드를 사용
BIFROST12DRIMAGE Launcher
- 구 IM_LAUNCHER 대체
EPIC_GAMES_PC13

에픽게임즈 PC

  • PC 한도 제한 등을 구분 및 KPI 확인을 위해 PC와 MO명확히 구분
EPIC_GAMES_MO14

에픽게임즈 모바일

  • 기능 확장을 위해 모바일 코드 미리 생성
ONE_STORE_ANDROID15

원스토어 Android

  • ONE Store측에서 플랫폼 확장으로 Windows가 추가되어 구분
ONE_STORE_WINDOWS16

원스토어 Windows

  • ONE Store측에서 플랫폼 확장으로 Windows가 추가되어 구분
OSIOSnull애플 IOS
MACOSnull
ANDROIDnull구글 안드로이드 OS
LINUXnull
WIN64nullMS 윈도우 64bit
WIN32nullMS 윈도우 32bit
PAYMENT
(결제 수단)
GOOGLE_PLAY0

구글 플레이스토어를 이용한 결제

  • 참고: 구글 PC버전을 위한 결제도 지원 중
APPLE_APP_STORE1 애플 앱스토어를 이용한 모바일 결제
STEAM2

스팀 인게임 소액 결제

  • 유저가 스팀 지갑에 충전해둔 금액을 이용해서 오버레이 구매를 통한 결제 방법
DMM3필요시 지원 예정
XSOLLA4

엑솔라를 이용한 결제 방식

  • 인게임 결제(예. PC에서 IM_LAUNCHER를 이용한 결제)와 엑솔라 웹샵 결제 지원 중
CODA_SHOP5Codashop
UNIPIN6 UniPin
MYCARD7

MyCard


전용 웹샵을 퍼블리셔(또는 개발사)에서 직접 구축 후 결제 수단을 MYCARD로 사용하는 형태의 결제

  • 전용 웹샵에 대한 구축 논의 후 사용 가능
GALAXY_STORE8

삼성 Galaxy Store

  • 지원 예정
ONE_STORE9필요시 지원 예정
PG10Payment Gateway(토스 등)를 이용한 결제
AppCharge11
EPIC_GAMES12Epic Games
ENVLOCALnull
DEVnull
QAnullQA 환경
QA_ESnull

QA외부

  • QA Stage를 외부 사용자에게 제공해야하는 경우에 사용

    • QA stage가 외부에게 오픈 안된 서비스로 사용하고 있어서 구분이 필요한 경우
PRODnullLIVE 환경
ID_TYPEIMIDnull
  • HYBE IM의 IMID, PJID내 사용자를 식별하는 고유 Key
  • PJID에 따라서 서로 다른 IMID가 사용하게 됨
MIDnull
  • 드림에이지 통합 회원을 구분하는 기본 단위
  • N건의 IMID를 대표하는 id
GAME_UIDnull게임쪽에서 자체 정의한 유저ID의 형태를 지칭
CI_GROUP_IDnullCI가 동일한 유저를 그룹화해둔 ID
SYSTEM_OPERATORnull시스템 운영자(시스템 Admin, 운영자, 시스템 사용하는 GM 임직원과 같은 시스템을 사용 및 운영하는 내부 직원)

빌링 시스템에서 사용 중인 추가 코드표

그룹 코드

그룹 코드설명
PURCHASE_STATUS구매 상태

상세 코드

그룹 코드상세 코드설명
PURCHASE_STATUSRESERVED

구매 예약

  • 사용자의 결제를 준비하는 단계로 결제에 필요한 정보가 빌링 시스템에 전달되어 예약된 상태
VERIFY_SUCCESS

유저의 구매 완료 요청에 대해서 결제 검증이 성공한 상태

  • 빌링 API는 필요시 각 결제 스토어와 검증을 해당 단계에서 진행하고 성공한 상태
  • 아직 게임 서버에서는 유저에게 상품지급은 안된 단계

    • COMPLTED로 변경되지 않고 해당 상태로 방치되어 있다면 게임 서버에서 상품 지급이 누락된 상태로 간주함
FAIL_GIVE_PRODUCT

지급 실패

  • 빌링 시스템에서 상품 지급 API를 직접 호출하는 결제 수단에 대해서 호출 결과 실패인 경우. 예) XSOLLA, My Card, Unipin, Codashop
COMPLETED

최종 완료 상태

  • 게임서버에서 아이템 지급 완료된 상태
  • 빌링 시스템에도 최종 완료
  • 필요한 경우 Google 등 외부 결제 스토어까지 소모(consume) 완료된 상태
SCHEDULED_CANCEL

취소 예정

  • 고객센터 등을 통해 회원이 정상적으로 거래 취소를 요청하여 스토어 콘솔 취소 전 거래 내역에 Marking한 상태
PURCHASE_CANCEL

구매 취소

  • 본 거래의 상태가 완료 또는 기타 상태에서 취소로 전환된 상태