아이템 판매 설정

엑솔라에는 게임에서 수익을 창출을 위한 2가지 솔루션, 구매 버튼(게임 웹 사이트에서 아이템 판매)과 인게임 스토어(게임 내에서 아이템 판매)가 있습니다.

구매 버튼을 사용하면 실제 통화 또는 인게임 재화로 다음 아이템을 판매할 수 있습니다.

  • 게임 키
  • 가상 아이템
  • 인게임 재화
  • 실물 상품

인게임 스토어에서는 실제 통화 또는 인게임 재화로 다음 아이템을 판매할 수 있습니다.

  • 인게임 재화 및 화폐 패키지
  • 소모성 아이템
  • 비소모성 아이템
  • 사용기간 제한 아이템

인증되지 않은 사용자와 인증된 사용자에게 아이템을 팔 수 있습니다.

인증되지 않은 사용자에 대한 아이템 판매 설정

구매에는 다음과 같은 제약 사항이 적용됩니다.

  • 인증되지 않은 사용자는 자격 관리 시스템을 사용할 수 없습니다.
  • 결제 방식 및 엑솔라 잔액을 엑솔라 페이 스테이션에서 사용할 수 없습니다.

상품판매 방식
게임(게임 키) 사본 1개.다이렉트 링크 또는 위젯을 사용하세요.
게임(게임 키) 또는 장바구니에 담긴 여러 게임의 사본 여러 개.고유한 사용자 ID 및 이메일 주소를 전달합니다. 이메일 주소와 기타 추가 데이터(사용자 이름 및 ISO 3166-1 alpha-2에 따른 국가 코드)는 Base64 인코딩을 가지며 결제 토큰을 얻기 위한 메소드 호출 시 제목에서 x-user 매개변수를 위해 전달됩니다.
아이템 1개.아이템 1개에는 빠른 구매 호출을 사용하세요.
장바구니에 담긴 아이템 여러 개.고유한 사용자 ID를 전달합니다. 인게임 스토어 및 구매 버튼 API 메소드 (x-unauthorized-id 매개변수) 호출 시에는 제목의 고유한 사용자 ID를 숫자 또는 라인으로 사용해야 합니다. 식별자는 프론트엔드(예: 식별자 생성 라이브러리)에서 생성됩니다.

인증 확인된 사용자에게 아이템 판매 설정

애플리케이션 및 엑솔라 제품의 기능에 대한 사용자 액세스를 관리하려면 인증 시스템을 설정하세요. 이때 엑솔라 로그인을 사용하거나 자체 인증 시스템을 구현할 수 있습니다.

자체 인증 시스템을 구현했으며 결제 UI만 필요한 경우 페이 스테이션 액세스 토큰을 생성한 후 서버에 웹훅을 설정하세요.

자체 서버가 없거나 기존 솔루션을 사용하려는 경우 인게임 스토어에 대해 엑솔라 로그인을 사용할 수 있습니다. 엑솔라에서 수행하는 기능:

  • 카탈로그 저장 및 관리
  • 가격 관리
  • 지역별 가격 데이터 저장
  • 사용자 인증
  • 거래 처리

엑솔라 로그인을 통한 인증

엑솔라 로그인은 사용자 등록 및 인증을 위해 OAuth 2.0 표준 프로토콜을 지원합니다. 표준 OAuth 2.0 프로토콜을 통해 클라이언트 애플리케이션의 개발을 단순화할 수 있습니다. OAuth 2.0을 사용하면 사용자가 참여하지 않아도 액세스 토큰을 업데이트할 수 있습니다.

승인된 사용자 데이터를 다음에 저장할 수 있습니다.

알림
실제 통화(잔액), 저장된 카드, 거래 내역, 구독 정보 등이 사용자 데이터로 구분됩니다.

페이 스테이션 액세스 토큰을 통한 인증

알림
In-Game Store and Buy Button API 메서드를 통합하려는 경우 권장드립니다.

귀하의 클라이언트와 엑솔라 서버 간의 상호 작용 흐름:

  1. 클라이언트가 인증 요청을 귀하의 서버에 전송합니다.
  2. 서버가 권한 부여 토큰을 요청하고 헤더를 엑솔라 서버에 전송하는데, 이는 project_id/merchant_idapi_key 매개 변수를 포함하고 있습니다.
  3. 엑솔라 서버가 페이 스테이션 액세스 토큰을 반환합니다.
  4. 서버가 페이 스테이션 액세스 토큰을 클라이언트에게 전달합니다.
  5. 반환된 페이 스테이션 액세스 토큰이 인게임 스토어 및 구매 버튼 API 인증 및 스토어 인터페이스 빌드용 권한 부여 토큰으로 사용됩니다.

페이 스테이션 액세스 토큰 받기

애플리케이션의 백 엔드에서 HTTP POST 요청을 사용하여 페이 스테이션 액세스 토큰 가져오기 메서드를 구현하세요.

엑솔라 API는기본 HTTP 인증을 사용합니다. 요청은 반드시 Authorization:Basic <your_authorization_basic_key> 헤더를 포함해야 하며, 여기서 조건은 <your_authorization_basic_key>가 Base64 표준에 따라 엔코딩된 merchant_id:api_key입니다. 게시자 계정에서 확인할 수 있는 매개 변숫값:

  • merchant_id용은 프로젝트 설정 > 웹훅 > 판매자 ID 섹션으로 이동합니다.
  • api_key용은 회사 설정 > API 키 섹션으로 이동합니다.

HTTP 요청:

POST https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token

토큰을 받으려면 전달해야 하는 요청 본문의 매개 변수:

매개 변수유형설명
설정
object사용자 지정 프로젝트 설정와 관련된 객체입니다.
settings.project_id
integer게임의 엑솔라 ID. 프로젝트 이름 옆 게시자 계정에서 찾으실 수 있습니다. 필수.
사용자
object사용자에 대한 데이터가 포함된 개체입니다.
user.id
object권한 부여 시스템의 사용자 ID(개체).
user.id.value
string사용자 ID. 필수.
user.email
object사용자 이메일(개체).
user.email.value
string사용자 이메일. RFC 822 프로토콜에 따라 유효해야 합니다. 필수.
user.name
object게임유저 닉네임 데이터와 관련된 값입니다. 필수.
user.name.value
string사용자 닉네임.
user.steam_id
object사용자 Steam ID(개체).
user.steam_id.value
string사용자 Steam ID. 애플리케이션이 Steam에 게시된 경우 필수입니다.
user.playfab_id
object사용자 PlayFab ID(개체).
user.playfab_id.value
string사용자 PlayFab ID. 애플리케이션이 PlayFab 서비스를 사용하여 아이템 부여를 하는 경우 필수입니다.

요청 및 응답 예시를 API 참조에서 확인하세요.

주의
요청에서는 위의 목록의 매개 변수만 사용하세요. API 호출의 다른 매개 변수(custom_parameters, purchase, 등)는 전달하지 마세요. 다른 매개 변수는 권한 부여 토큰 수신용이 아닙니다.

페이 스테이션 액세스 토큰을 인게임 스토어 및 인벤토리와 같이 사용하는 경우 엑솔라 API로의 마지막 호출 후 1시간이 지나면 만료됩니다. 페이 스테이션 액세스 토큰의 수명을 변경하려면, 계정 관리자에게 문의하세요.

만료 후 새 페이 스테이션 액세스 토큰을 수신하는 로직을 구현합니다. 새 토큰을 백그라운드 모드에서 수신하여 사용자가 애플리케이션에 다시 로그인하지 않아도 되게 할 것을 권장합니다.

진행률
의견을 보내 주셔서 감사드립니다!
마지막 업데이트: 2022년 8월 8일

오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!