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または複数レベルのカタログを設定
  • コンテンツへのアクセス管理たとえば、一定のレベルに達したユーザーのみが特定のアイテムを利用可能にできます。
  • 簡潔なアイテムカードと詳しいアイテムカードを設定
  • プロモーションキャンペーンを実施する
  • ゲーム内通貨のユーザー残高の管理
  • ユーザーの通貨と国の自動検出

セットアップ

  1. 仮想アイテムの設定を開く。
  2. ストアのカタログを入力:
    1. アイテムグループの作成。
    2. アイテムを作成。それぞれ次の項目を指定する:
      • アイテムが属するべき1つ以上のグループ
      • 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.uiJSON-objectを渡します。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=
  • ユーザーデータを渡すためのトークン。認証されたユーザーにアイテムを販売する際にのみ使用され、仮想アイテムや仮想通貨を販売する際に必要となります。このトークンは[認証メソッド](/ja/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}
  • 決済テストのmode = sandboxパラメータ。[テスト銀行カード](/ja/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: Store APIメソッドを介してゲームを販売するには、フロントエンド側でDRMの選択を実装する必要があります。ゲームリクエストをSKUとして取得するからのitems.unit_items.skuパラメータ値を渡します。

デモ版に基づく

ストアデモバージョンを使用してAPI機能を確認できます。そのコードはGitHubにアップロードされます。独自のバージョンを作成するためのベースとして使用できます。

認証設定

認証されたユーザーと認証されていないユーザーの両方が購入を行うことができます。

認証されていないユーザー

以下のルールに従えば、ゲームや物理的な商品を認証なしでユーザーに販売できます:
  • トークンなしの直リンクやウィジェットを使用して、ゲームのコピーを1枚販売することができます。
  • 一意のユーザーIDとメールアドレスを渡して、カートに入れて複数枚販売します。
  • 指定されたパラメータなしで1つの物理的なアイテムを販売するために、素早い購入のためのメソッドを使用します。
  • 一意のユーザーIDを渡して、カートで複数のコピーを販売します。

Store APIメソッドx-unauthorized-idパラメータ)を呼び出すときは、タイトルの一意のユーザー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の上級機能を試すときに役立ちます:

チュートリアル