販売アイテムを設定する
インゲームストアでは、以下のアイテムをゲーム内で販売し、実際通貨または仮想通貨で収益を上げることができます:
- ゲーム内通貨と通貨パッケージ
- 消耗品アイテム
- 非消耗品アイテム
- 期間限定アイテム
商品 | 販売方法 |
---|---|
1つのアイテム(例:仮想アイテムまたはカスタム量の仮想通貨) | 即購入のコール |
カート内のいくつかのアイテム | 一意のユーザーIDを渡します。一意のユーザーIDは、仮想アイテム&通貨メソッドグループ(x-unauthorized-id パラメーター)から「カタログ」サブセクションのAPIメソッドを呼び出すときに、タイトルで番号または行として使用されます。識別子は、フロントエンド側で、識別子生成ライブラリなどを介して生成されます。 |
ユーザーの自分のアプリケーションやエクソーラ製品の機能へのアクセスを管理するために、認証システムを設定します。このためには、エクソーラログインを使用するか、独自の認証システムを実装することができます。
独自の認証システムを導入しており、決済UIのみが必要な場合は、ペイステーションアクセストークンを生成して、サーバーにウェブフックを設定します。
独自のサーバーを持っていない場合や、既存のソリューションを利用したい場合に、インゲームストアにエクソーラログインを使用することができます。以下の機能はエクソーラ側で行います。
- カタログを保存管理する
- 価格を管理する
- 地域価格のデータを保存する
- ユーザーを認証する
- 取引を処理する
エクソーラログイン経由の認証
エクソーラログインは、ユーザー登録と認証のための標準プロトコルOAuth 2.0をサポートしています。標準のOAuth 2.0プロトコルは、クライアント側のアプリケーションの開発を簡素化するのに役立ちます。OAuth 2.0では、ユーザーを介さずにアクセストークンを更新することができます。
認証されたユーザーのデータを以下の場所で保存することができます:
- エクソーラストレージ。セットアップするには、エクソーラログインをはじめにを参照してください。
- PlayFabデータベース内。セットアップするには、PlayFabストレージのハウツーを使用してください。
- カスタムストレージ内。セットアップするには、カスタマイズストレージのハウツーを使用してください。
ペイステーションアクセストークン経由の認証
一般フロー
クライアントとエクソーラサーバー間の相互作用の流れ:- クライアントは認証要求をサーバーに送信します。
- あなたのサーバーは認証トークンをリクエストし、
project_id/merchant_id
とapi_key
パラメータを含むヘッダをエクソーラサーバーに送信します。 - エクソーラサーバーがペイステーションアクセストークンを返します。
- サーバーはペイステーションアクセストークンをクライアントに渡します。
- 返されたペイステーションアクセストークンは、In-Game Store APIでの認証、およびストアインターフェイスの構築のための認証トークンとして使用されます。
ペイステーションアクセストークンを取得する
アプリケーションのバックエンドで、HTTP POSTリクエストを使用してペイステーションアクセストークンを取得するメソッドを実装します。
エクソーラAPIは基本HTTP認証を採用しています。リクエストは、Authorization: Basic <your_authorization_basic_key>
ヘッダーを含む必要があります。<your_authorization_basic_key>
はマーチャントID:APIキーのペアで、Base64の基準に従ってエンコードしています。アドミンページに移動して、次のパラメータを見つけます:
- マーチャントIDは以下の場所で表示されます:
- 会社設定 > 会社セクション。
- アドミンページページのブラウザーアドレスバーのURL。URLは以下の形式があります:
https://publisher.xsolla.com/<merchant ID>/<Publisher Account section>
。
- APIキーは、作成時に一度だけアドミンページに表示され、お客様側で保存する必要があります。次のセクションで新しいキーを作成できます:
- 会社設定 > APIキー
- プロジェクト設定 > APIキー
APIキーの操作については、APIリファレンスを参照してください。
キーに関する推奨事項:
- 生成されたAPIキーは、お客様側で保存してください。APIキーは、アドミンページで作成時に一度だけ表示することができます。
- APIキーは秘密にしておいてください。APIキーは、お客様の個人アカウントとアドミンページのプロジェクトへのアクセスを提供します。
- APIキーはサーバーに保存する必要があり、決してバイナリやフロントエンドに保存してはいけません。
必要なAPIコールにproject_id
パスパラメータが含まれていない場合は、会社のすべてのプロジェクトで有効な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サービスを使用してアイテムを付与する場合。 |
custom_parameters
、purchase
など)は、認証トークンを受け取るためのものではありませんので、渡さないでください。インゲームストアとインベントリを操作するときのペイステーションアクセストークンの有効期間は、エクソーラAPIを最後に呼び出してから1時間となります。ペイステーションアクセストークンの有効期限を変更するには、カスタマーサクセスマネージャーまでお問い合わせるか、csm@xsolla.comに電子メールを送信してください。
期限切れ後に新しいペイステーションアクセストークンを受け取るためのロジックを実装します。ユーザーがアプリケーションに再度ログインする必要がないように、バックグランドモードで新しいトークンを取得することをお勧めします。
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。