ユーザーに購入権限を付与する
トランザクションステータスに関するエクソラからの情報を使用して、アプリケーション内でユーザーへの購入権限付与を実装します。次の方法で情報を取得できます:
APIを使用して情報を要求する
ユーザーが購入した仮想アイテム、仮想通貨、またはバンドルに関する情報は、エクソラ側のプレイヤーのインベントリから入手できます。ウェブショップでの購入と、購入を許可する際に他の方法による購入の両方を考慮するには、アプリケーション側とエクソラ側でプレイヤーのインベントリに関する情報を同期します。
インベントリを管理するためのAPIコールには、次のグループが含まれます:
基本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を取得するには、以下の手順で行います:
- サーバーOAuth 2.0クライアントを作成するには:
- パブリッシャーアカウントであなたのプロジェクトを開きます。ログイン > あなたのログインプロジェクトに移動して構成をクリックします。
- セキュリティブロックで、OAuth 2.0をクリックします。
- OAuth 2.0を追加するをクリックして以下のことを指定します:
- クライアント名。
- OAuth 2.0のリダイレクトURI(必須)。
- 認証タイプ — サーバー。
- プロジェクトID。
- 接続をクリックします。さらに統合するには、生成されたクライアントIDと秘密鍵が必要になります。
- サーバーJWTを取得します。これを行うには、JWTを生成するAPIメソッドを呼び出して、以下のパラメータを渡します:
grant_type
— JWTタイプ。client_credentials
の値を指定します。client_secret
— サーバー OAuth 2.0クライアント秘密鍵です。client_id
— サーバー OAuth 2.0クライアントID。
- ユーザーJWTを取得します。これを行うには、Auth by custom ID APIメソッドを呼び出します。リクエストには
X-Server-Authorization: <server_JWT>
ヘッダーを含める必要があります。<server_JWT>
はステップ2で取得したサーバーJWTです。
ウェブフックを使用して情報を受け取る
以下のタイプのウェブフックの処理をアプリケーションに実装します:
- 仮想アイテム、仮想通貨、仮想通貨パッケージ、バンドルを付与するには:
- 購入をキャンセルするには:
ウェブフックが受信されたことを確認するには、サーバーは次のように応答する必要があります:
- メッセージ本文なしでHTTPコード204。
- 指定されたユーザーが見つからないか、無効な署名が渡された場合、問題を記述したHTTPコード400が表示されます。
パブリッシャーアカウントのプロジェクト設定 > ウェブフック > ストアセクションのユーザー検証と決済ウェブフックをテストできます。
実数値がない場合は、任意の値を入力できます。
サンドボックスモードまたはライブモードで購入する際にウェブフックをテストすることもできます。返金をテストする機能はライブモードでのみ利用できます。
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。