販売アイテムを設定する

ゲームをマネタイズするためのエクソラのソリューションには、Buy Button(ゲームのウェブサイトでアイテムを販売)とゲーム内ストア(ゲーム内でアイテムを販売)の2つがあります。

Buy Buttonでは、以下のアイテムをリアルまたはバーチャル通貨で販売する機会があります。

  • ゲームキー
  • 仮想アイテム
  • 仮想通貨
  • 物理的な商品

ゲーム内ストアでは、以下のアイテムを実際の通貨や仮想通貨で販売することができます:

  • ゲーム内通貨と通貨パッケージ
  • 消耗品アイテム
  • 非消耗品アイテム
  • 非更新サブスクリプション

認証されていない認証済みのユーザーにアイテムを販売できます。

認証されていないユーザー向けの商品の販売を設定する

ご購入の際には、以下の条件によって制限されます:

  • 認証されていないユーザーは、エンタイトルメントシステムを使用できません。
  • エクソラ決済ステーションでは、決済方法やエクソラの残高は利用できません。

商品販売方法
ゲームのコピー1つ(ゲームキー)。直接リンクやウィジェットを使用してください。
ゲームのコピー(ゲームキー)が数本、またはカートにゲームが数本入っています。一意のユーザーIDとメールアドレスを渡します。電子メール アドレスとその他の追加データ(ISO 3166-1 alpha-2によるユーザー名と国コード)Base64エンコーディングで、決済トークンを取得するためのメソッドを呼び出す際にx-userパラメータのタイトルに渡されます。
1つのアイテム。1つのアイテムの迅速な購入コールを使用します。
カート内のいくつかのアイテム。一意のユーザーIDを渡します。一意のユーザーIDは、ゲーム内ストア&Buy Button APIメソッドx-unauthorized-idパラメータ)を呼び出す際に、タイトルの中で数字や行として使用されます。識別子は、フロントエンド側で、識別子生成ライブラリなどを介して生成されます。

認証されたユーザーに販売アイテムを設定する

ユーザーの自分のアプリケーションやエクソラ製品の機能へのアクセスを管理するために、認証システムを設定します。このためには、エクソラログインを使用するか、独自の認証システムを実装することができます。

独自の認証システムを導入しており、決済UIのみが必要な場合は、決済ステーションアクセストークンを生成して、サーバーにウェブフックを設定します。

独自のサーバーを持っていない場合や、既存のソリューションを利用したい場合に、ゲーム内ストアにエクソラログインを使用することができます。以下の機能はエクソラ側で行います。

  • カタログを保存管理する
  • 価格を管理する
  • 地域価格のデータを保存する
  • ユーザーを認証する
  • 取引を処理する

エクソラログイン経由の認証

エクソラログインは、ユーザー登録と認証のための標準プロトコルOAuth 2.0をサポートしています。標準のOAuth 2.0プロトコルは、クライアント側のアプリケーションの開発を簡素化するのに役立ちます。OAuth 2.0では、ユーザーを介さずにアクセストークンを更新することができます。

認証されたユーザーのデータを以下の場所で保存することができます:

Note
ユーザーデータには、現実の通貨の残高(小銭)、保存したカード、取引履歴、サブスクリプションなどが含まれます。

決済ステーションアクセストークン経由の認証

Note
ゲーム内ストアとBuy Button APIメソッドを統合したい場合に推奨されます。

クライアントとエクソラサーバー間の相互作用の流れ:

  1. クライアントは認証要求をサーバーに送信します。
  2. あなたのサーバーは認証トークンをリクエストし、project_id/merchant_idapi_keyパラメータを含むヘッダをエクソラサーバーに送信します。
  3. エクソラサーバーが決済ステーションアクセストークンを返します。
  4. サーバーは決済ステーションアクセストークンをクライアントに渡します。
  5. 返された決済ステーションアクセストークンは、ゲーム内ストアおよびBuy Button APIでの認証、およびストアインターフェイスの構築のための認証トークンとして使用されます。

決済ステーションアクセストークンを取得する

アプリケーションのバックエンドで、HTTP POSTリクエストを使用して決済ステーションアクセストークンを取得するメソッドを実装します。

Xsolla 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

トークンを取得するには、リクエストボディに以下のパラメータを渡します:

パラメータ種類説明文
settings
objectカスタムプロジェクト設定(オブジェクト)。
settings.project_id
integerゲームのエクソラID。パブリッシャーアカウントのプロジェクト名の横にあります。 必須。
user
objectユーザーの詳細(オブジェクト)。
user.id
object認証システムのユーザーID(オブジェクト)。
user.id.value
stringユーザーID。 必須。
user.email
objectユーザーのEメール(オブジェクト)。
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リファレンスのリクエストとレスポンスの例を参照してください。

Notice
リクエストでは、上記リストのパラメータのみを使用してください。APIコールの他のパラメータ(custom_parameterspurchaseなど)は、認証トークンを受け取るためのものではありませんので、渡さないでください。

ゲーム内ストアとインベントリを操作するときの決済ステーションアクセストークンの有効期間は、エクソラAPIを最後に呼び出してから1時間となります。決済ステーションアクセストークンの有効期限を変更するには、アカウントマネージャーに連絡してください。

期限切れ後に新しい決済ステーションアクセストークンを受け取るためのロジックを実装します。ユーザーがアプリケーションに再度ログインする必要がないように、バックグランドモードで新しいトークンを取得することをお勧めします。

進捗状況
ご意見ありがとうございました!
最終更新日: 2021年11月18日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!