사용자에게 구매 권한 부여

엑솔라로부터 받는 거래 상태 정보를 사용하여 여러분의 애플리케이션에서 사용자에게 구매 권한을 부여하는 기능을 구현합니다. 다음과 같은 방법으로 정보를 얻을 수 있습니다.

API를 사용하여 정보 요청

엑솔라측의 플레이어 인벤토리로부터 사용자가 구매한 가상 아이템, 인게임 재화 또는 번들에 대한 정보를 얻을 수 있습니다. 구매 승인 시 웹 상점을 통한 구매와 다른 방법으로 이루어진 구매를 모두 고려하려면 애플리케이션측과 엑솔라측의 플레이어 인벤토리에 대한 정보를 동기화하세요.

인벤토리 관리를위한 API 호출은 다음 그룹을 포함합니다.

Note
서버측 메소드는 기본 HTTP 인증을 사용합니다.

Note
클라이언트측 호출은 서버 OAuth 2.0 인증을 사용합니다.

기본 HTTP 인증

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

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

서버 OAuth 2.0 인증

요청에는 Authorization: Bearer <user_JWT> 머리글이 포함되어야 합니다. 여기서 <user_JWT>는 사용자 JWT입니다.

다음 단계에 따라 사용자 JWT를 가져오려면:

  1. 서버 OAuth 2.0 클라이언트를 생성합니다.
    1. 게시자 계정에서 프로젝트를 엽니다. 로그인 > 자신의 로그인 프로젝트로 이동한 후 구성을 클릭합니다.
    2. 보안 블록에서 OAuth 2.0을 클릭합니다.
    3. OAuth 2.0 추가를 클릭한 후 다음을 지정합니다.
      • 클라이언트 이름.
      • OAuth 2.0 리디렉션 URI(필수).
      • 인증 유형 — 서버.
      • 프로젝트 ID.
    4. 연결을 클릭합니다. 추가 통합을 위해 생성된 클라이언트 ID와 비밀 키가 필요합니다.

  1. 서버 JWT를 가져옵니다. 이렇게 하려면 JWT 생성 API 메소드를 호출한 후 다음 매개변수를 전달합니다.
    • grant_type — JWT 유형. client_credentials 값을 지정합니다.
    • client_secret — 서버 OAuth 2.0 클라이언트 비밀 키.
    • client_id — 서버 OAuth 2.0 클라이언트 ID.

Note
서버 JWT는 59분 동안 유효합니다.

  1. 사용자 JWT 가져오기. 이를 수행하려면 Auth by custom ID API 메소드를 호출합니다. 요청에는 X-Server-Authorization: <server_JWT> 헤더가 포함되어야 합니다. 여기서 <server_JWT>2 단계에서 가져온 서버 JWT입니다.

웹훅을 사용하여 정보 수신

여러분 애플리케이션에서 다음 유형의 웹훅 처리를 구현합니다.

Note
게시자 계정에 지정된 URL로 웹훅이 보내지는데 이는 프로젝트 설정 > 웹훅 섹션에 있습니다.

웹훅 수신 확인하려면 귀하의 서버는 반드시 다음과 함께 응답해야 합니다.

  • 메시지 본문 없이 HTTP 코드 204.
  • 지정된 사용자를 찾을 수 없거나 잘못된 서명이 전달된 경우 문제를 설명하는 HTTP 코드 400.

게임유저 유효성 검사결제 웹훅은 게시자 계정에서 테스트할 수 있는데 이는 프로젝트 설정 > 웹훅 > 스토어 섹션에 있습니다.

실제 값이 없는 경우 임의의 값을 입력할 수 있습니다.

샌드박스 또는 라이브 모드로 구매할 때 웹훅을 테스트할 수도 있습니다. 환불 테스트는 라이브 모드에서만 사용할 수 있습니다.

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

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

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