Buy Button

Buy Button은 디지털 상품 판매에 포괄적으로 사용할 수 있는 솔루션입니다.

Note: 엑솔라 제품을 이미 사용하고 있고 Buy Button을 통합하기 원할 경우, 계정 관리자에게 문의하십시오.

작동 방식

1 단계

2 단계

3 단계

사용자 플로우

통합 절차

Buy Button 통합 방법:

  1. 엑솔라 게사자 계정을 등록합니다.
  2. 프로젝트를 생성합니다.
  3. 현금화 옵션을 선택합니다.
  4. 아이템 판매 옵션을 선택합니다.
  5. 웹훅을 설정합니다.

Note: 본 가이드에는 솔루션을 빠르게 시작하기 위해 필요한 최소 설정에 대한 설명이 제공되어 있습니다. 질문이 있을 경우, 계정 관리자에게 문의하십시오.

프로젝트 생성

  1. 프로젝트로 이동하고 새 프로젝트 만들기를 클릭합니다.
  2. 설정 모드에서:
    1. 웹훅 URL을 지정합니다.
    2. 프로젝트 웹훅에 서명할 비밀 키를 생성합니다.

현금화 옵션

가상 머니

게임 개발자는 가상 화폐 옵션을 사용하여 인게임 통화를 판매할 수 있습니다. 주요 기능:

  • 인게임 통화 패키지 판매
  • 프로모션 캠페인 실행
  • 인게임 통화 사용자 잔액 관리
  • 사용자 통화 및 국가 자동 감지

설정

  1. 가상 화폐 설정으로 이동하여 다음 매개변수를 구성합니다.
    • 이름
    • 단위당 가격
    • 이미지
  2. 가상 화폐 패키지를 필요한만큼 생성하고 각 패키지를 위해 다음과 같은 매개변수를 설정합니다.
    • 가격
    • 이미지
  3. 스토어에서 패키지 디스플레이를 켭니다.

레시피

당사 레시피로 시도해 볼 수 있는 가상 화폐의 일부 고급 기능:

가상 아이템

가상 아이템 옵션을 사용하여 실제 또는 가상 통화로 인게임 콘텐츠를 판매할 수 있습니다. 주요 기능:

  • 실제 및 가상 통화로 가격 설정
  • 하나 또는 여러 개의 레벨로 카탈로그 설정
  • 콘텐츠 액세스 관리. 예를 들어, 특정 레벨에 도달한 사용자만 특정 아이템을 사용할 수 있도록 설정할 수 있습니다.
  • 간단하고 세부적인 아이템 카드 구성
  • 프로모션 캠페인 실행
  • 인게임 통화 사용자 잔액 관리
  • 사용자 통화 및 국가 자동 감지

설정

  1. 가상 아이템 설정으로 이동합니다.
  2. 스토어 카탈로그 입력:
    1. 아이템 그룹 생성.
    2. 아이템을 생성하고 각각의 아이템에 대해 다음을 지정합니다:
      • 아이템이 속할 한 개 이상의 그룹
      • SKU
      • 이름 및 간단한 설명
      • 실제 및 가상 통화로 표시된 가격
      • 이미지
  3. 스토어에서 그룹 디스플레이를 켭니다.

레시피

당사 레시피로 시도해 볼 수 있는 가상 아이템의 일부 고급 기능:

게임 키

게임 키 솔루션은 파트너가 게임 키, 빌드 및 배포 패키지를 파트너의 게임 웹사이트에서 바로 판매할 수 있게 합니다. 이는 다이렉트 링크를 통해서 또는 위젯으로, API 메소드를 통해 통합된 스토어 UI에 의해 수행됩니다. 주요 기능:

  • 키 및 분배 패키지 분배를 통한 DRM 플랫폼 선택
  • 각 DRM 플랫폼에 다른 가격 설정
  • 선주문

설정

모듈 설정:

  1. 게임 키로 이동하여 새 패키지를 클릭합니다.
  2. 패키지 매개변수를 구성합니다.
    • SKU - 고유 식별자
    • 게임 제목
    • 게임에 대한 간단한 설명
  3. DRM과 플랫폼을 선택합니다.
  4. 선택한 DRM의 가격을 구성합니다.
  5. 선택한 DRM에 대한 키를 업로드합니다.

레시피

당사 레시피로 시도해 볼 수 있는 게임 키의 일부 고급 기능:

아이템 판매

직접 링크, 위젯 또는 스토어 UI를 통해 아이템을 판매할 수 있습니다.

Info: 게임 키 판매를 위해 다이렉트 링크를 구성할 때 YOUR-ITEM-TYPE 매개변수의 값은 내 프로젝트의 스토어 관리 메소드에 따라 달라집니다. 새 스토어 관리 메소드 통합하기 토글이 켜짐으로 설정되었으면, 매개변수 값을 새 메소드로 전달해야 합니다.

결제 UI를 여는 데 사용되는 링크:

Copy
Full screen
Small screen
https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}
링크에 추가할 데이터:
  • YOUR-ITEM-TYPE — 아이템 유형:
    • 게임 — digital_content (기존 스토어 관리 메소드 사용 프로젝트) 또는 unit(새 스토어 관리 메소드 사용 프로젝트)
    • 실물 상품 — physical_good
    • 가상 아이템 — virtual_item
    • 가상 화폐 — virtual_currency
    • 가상 화폐 패키지 또는 번들 — bundle
  • YOUR-PROJECT-ID — 내 게시자 계정의 프로젝트 ID(내 프로젝트 > 프로젝트 설정 > 일반 설정 > 프로젝트 ID)
  • YOUR-ITEM-SKU — 아이템 SKU

링크에서 다음 추가 매개변수를 전달할 수도 있습니다.

  • 결제 UI 스타일: 테마(어두움 매개변수인 어두움 또는 기본 매개변수인 밝음), 크기 및 기타 매개변수. URL의 ui_settings 매개변수를 지정하고 Base64 인코딩을 값으로 가지는settings.ui JSON-개체를 전달합니다. UI 설정이 된 URL 예시:

Copy
Full screen
Small screen
https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}&ui_settings=ewoJCQkic2l6ZSI6ICJzbWFsbCIsCgkJCSJ0aGVtZSI6ICJkYXJrIgoJCX0=
  • 사용자 데이터 전달을 위한 토큰. 인증된 사용자에게 아이템을 판매할 때만 사용되며 가상 아이템 및 가상 화폐에 필요합니다. 이 토큰은 [인증 메소드](/ko/doc/buy-button/#guides_buy_button_selling_items_authentication_settings)에 따라 달라집니다. 토큰 URL 예시:
Copy
Full screen
Small screen
https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOUR_PROJECT_ID}&sku={YOUR_ITEM_SKU}&xsolla_login_token={ACCESS_TOKEN}
  • 결제 테스트에 대한 모드=샌드박스 매개변수입니다. [테스트 은행 카드](/ko/doc/pay-station/references/test-cards/)를 결제 완료에 사용할 수 있습니다. 테스트용 URL 예시:
Copy
Full screen
Small screen
https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}&mode=sandbox

위젯을 통해 판매

위젯은 아이템을 판매할 수 있도록 웹 사이트에 구현하는 스크립트입니다. 위젯 작동 예시는 데모 페이지에서 확인할 수 있습니다.

Info: 게임 키 판매를 위해 위젯을 구성할 때 YOUR-ITEM-TYPE 매개변수의 값은 내 프로젝트의 스토어 관리 메소드에 따라 달라집니다. 새 스토어 관리 메소드 통합하기 토글이 켜짐으로 설정되었으면, 매개변수 값을 새 메소드로 전달해야 합니다.
위젯 구현 코드:
Copy
Full screen
Small screen
<script>
    var options = {
        project_id: "YOUR-PROJECT-ID",
        item_type: "YOUR-ITEM-TYPE",
        sku: "YOUR-ITEM-SKU",
        user: "ACCESS_TOKEN",
        widget_ui: {
            target_element: '#widget-example-element'
        }
    };
    var s = document.createElement('script');
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://cdn.xsolla.net/embed/buy-button/3.1.2/widget.min.js";
        s.addEventListener('load', function (e) {
          var widgetInstance = XBuyButtonWidget.create(options);
          }, false);
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(s);
</script>
위의 코드에 추가할 데이터:
  • YOUR-PROJECT-ID게시자 계정의 내 프로젝트 ID(내 프로젝트 > 프로젝트 설정 > 일반 설정 > 프로젝트 ID)
  • YOUR-ITEM-TYPE — 아이템 유형:
    • 게임 — digital_content(기존 관리 메소드 사용 프로젝트) 또는 unit (새 관리 메소드 사용 프로젝트)
    • 실물 상품 — physical_good
    • 가상 아이템 — virtual_item
    • 가상 화폐 — virtual_currency
    • 가상 화폐 패키지 또는 번들 — bundle
  • YOUR-ITEM-SKU — 아이템 SKU
  • ACCESS_TOKEN — 사용자 데이터 전달을 위한 토큰. 인증된 사용자에게 아이템을 판매할 때만 사용되며 가상 아이템 및 가상 화폐를 위해 필요합니다. 인증 메소드에 따라 이 토큰은 달라집니다.

위젯 구성에 대한 추가 정보는 GitHub를 참조하세요.

스토어 UI를 통해 판매

스토어 UI를 통해 게임 키, 가상 아이템 및 가상 화폐를 판매하기 위해 별도의 웹 애플리케이션을 구현하거나 스토어 UI를 게임 내부에 구현할 수 있습니다. 아이템 목록을 가져오고 이를 가져와서 작동하도록 하려면 Store API를 사용하거나 데모 버전을 기반으로 스토어를 직접 제작해야 합니다.

Store API 기준

Store API 메소드를 통합하여 스토어의 프론트엔드 파트를 만드는 방법:
  1. 가상 아이템, 가상 화폐 패키지게임의 아이템 목록 가져오기.
  2. 아이템 구매:

메소드가 올바르게 작동할 수 있도록 적합한 인증 옵션을 선택하세요.

Note: 스토어 API 메소드를 통해 게임을 판매하려면, 프론트엔드 측에서 DRM 선택을 구현해야 합니다. items.unit_items.sku 매개변수 값을 SKU로서 게임 요청 얻기에서 전달하세요.

데모 버전 기준

스토어 데모 버전을 사용하여 API 기능을 확인할 수 있습니다. 해당 코드는 GitHub에 업로드되어 있습니다. 이러한 코드는 자체 버전을 만드는 기초로 사용할 수도 있습니다.

인증 설정

권한이 있는 사용자와 권한이 없는 사용자 모두 구매할 수 있습니다.

인증되지 않은 사용자

아래 규칙에 따라 게임 및 실물 상품을 인증 없이 사용자에게 판매할 수 있습니다.
  • 토큰 없이 다이렉트 링크 또는 위젯을 사용해 게임 사본 하나를 판매합니다.
  • 고유한 사용자 ID 및 이메일 주소를 전달해 장바구니 안의 게임 사본 여러 개를 판매합니다.
  • 빠른 구매를 위한 메소드를 사용하여 지정된 매개변수 없이 실물 상품 하나를 판매합니다.
  • 고유한 사용자 ID를 전달해 장바구니 안의 실물 상품 여러 개를 판매합니다.

Store API 메소드 호출 시에 제목의 고유한 사용자 ID를 숫자 또는 라인으로 사용해야 합니다.(x-unauthorized-id 매개변수). 식별자는 프론트엔드 측, 예를 들어 식별자 생성 라이브러리를 통해 생성됩니다.

이메일 주소와 기타 추가 데이터(사용자 이름 및 ISO 3166-1 alpha-2에 따른 국가 코드)는 Base64 인코딩을 가지며 결제 토큰을 얻기 위한 메소드 호출 시 제목에서 x-user매개변수를 위해 전달됩니다.

예시:

Copy
Full screen
Small screen
{
 "name": "John Smith" 
 "email": "test@test.com" 
 "country": "US" 
}
오브젝트 양식의 바디 또는 쿼리에 데이터를 전달할 수도 있습니다. 예시:
Copy
Full screen
Small screen
"user": {
 "name": "John Smith" 
 "email": "test@test.com" 
 "country": "US"
}

인증된 사용자

사용자 인증을 위한 옵션은 다음과 같습니다.
  1. 엑솔라 로그인을 통합한 경우 요청이 엑솔라 로그인 JWT을 통해 인증됩니다.
  2. 자체 인증 시스템을 보유한 경우 요청이 페이 스테이션 액세스 토큰을 통해 인증됩니다.

엑솔라 로그인을 통한 인증 설정

  1. 지침에 따라 게시자 계정에서 프로젝트를 설정합니다.
  2. 인증 메소드 콜백을 구현합니다. 이때 JSON Web Token 또는 OAuth 2.0 프로토콜을 따르도록 합니다.
사용자 데이터가 엑솔라 스토리지에 저장되어 있는 경우, 다음 메소드를 구현합니다.

사용자 데이터가 PlayFab 데이터베이스에 저장되어 있는 경우, PlayFab 스토리지 레시피를 사용합니다.

사용자 데이터가 사용자 정의 스토리지에 저장되어 있는 경우, 사용자 정의 스토리지 레시피를 사용합니다.

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

인증 절차:

  1. 클라이언트가 서버로 인증 요청을 전송합니다.
  2. 귀하의 서버가 엑솔라 서버로 Merchant IDAPI key를 전달하고 access_token을 요청합니다.
  3. 엑솔라 서버가 귀하의 서버로 access_token을 전송합니다.
  4. 귀하의 서버가 귀하의 클라이언트로 access_token을 전송합니다.

반환된 access_token이 게임 클라이언트가 전송한 요청을 인증하기 위한 인증 토큰으로 사용됩니다.

웹훅 설정

다음 웹훅 구현 방법:

메시지 본문 없이 HTTP 코드 204로 응답하여 웹훅을 수신하였음을 확인합니다. API 레퍼런스에서 예제를 비롯해 웹훅에 대해 자세히 알아볼 수 있습니다.

Note: 웹훅을 설정한 후, 페이 스테이션 설정을 열고 체크아웃켜짐으로 설정합니다.

프로모션 옵션

쿠폰

파트너는 쿠폰 기능을 통해 쿠폰 코드가 포함된 쿠폰 캠페인을 생성할 수 있으며 이러한 쿠폰 코드는 파트너사가 업로드하거나 게시자 계정에서 생성할 수 있습니다. 쿠폰은 사용자에게 가상 화폐, 가상 아이템 또는 구독 플랜의 평가 일을 부여할 수 있습니다. (해당하는 경우) 환불 횟수 및 만료 날짜를 사용자 정의할 수 있습니다.

레시피 보기

레이블

파트너는 레이블 기능을 통해 가상 아이템 및 가상 화폐 패키지 프로모션에 레이블을 부착할 수 있습니다. 예를 들어, "Best Value"를 부착할 수 있습니다.

레시피 보기

보너스

사용자는 보너스 기능을 통해 구매 시 보너스 아이템을 받을 수 있습니다. 보너스는 다음 중 하나가 될 수 있습니다.

  • 가상 화폐
  • 구독 평가일
  • 가상 아이템
  • 게임
  • 실제 상품(예: 머천다이즈)

레시피 보기

레시피

당사 레시피를 통해 Buy Button의 고급 기능 일부를 체험해볼 수 있습니다.

튜토리얼