トークンを取得する
決済UIを開くには、トークンを取得する必要があります。トークンとは、ゲームとユーザーに関する暗号化されたデータを含む文字列です。トークンを取得してユーザーを識別し、購入を許可するように実装する必要があります。
アプリケーションのバックエンドで、ユーザー認証トークンの取得を実装します。これを行うには、基本的なHTTP認証を含むHTTP POSTリクエストを使用し、リクエスト本文で必要なパラメータを渡します。
トークンの有効期限は、最後にエクソーラAPIを呼び出してから14時間後です。有効期限が切れた後に新しいトークンを受け取るロジックを実装してください。ユーザーがアプリケーションに再ログインする必要がないように、バックグラウンドで新しいトークンを取得することをお勧めします。
基本HTTP認証
エクソーラAPIは基本アクセス認証を採用しています。APIに対する全リクエストは、Authorization: Basic <your_authorization_basic_key>
ヘッダーを含む必要があります。<your_authorization_basic_key>
はマーチャントID:APIキーのペアで、Base64の基準に従ってエンコードしています。パブリッシャーアカウントに移動して、次のパラメータを見つけます:
- マーチャントIDは以下の場所で表示されます:
- プロジェクト設定 > ウェブフックセクション。
- 会社設定 > 会社セクション。
- パブリッシャーアカウントページのブラウザーアドレスバーのURL。URLは以下の形式があります:
https://publisher.xsolla.com/マーチャントID/パブリッシャーアカウントセクション
。
- APIキーは、作成時に一度だけパブリッシャーアカウントに表示され、お客様側で保存する必要があります。次のセクションで新しいキーを作成できます:
- 会社設定 > APIキー
- プロジェクト設定 > APIキー
APIキーの操作については、APIリファレンスを参照してください。
キーに関する推奨事項:
- 生成されたAPIキーは、お客様側で保存してください。APIキーは、パブリッシャーアカウントで作成時に一度だけ表示することができます。
- APIキーは秘密にしておいてください。APIキーは、お客様の個人アカウントとパブリッシャーアカウントのプロジェクトへのアクセスを提供します。
- APIキーはサーバーに保存する必要があり、決してバイナリやフロントエンドに保存してはいけません。
リクエスト本文
リクエスト本文に、以下の必須パラメータを渡します:
パラメータ | 種類 | 説明文 |
---|---|---|
user.id | string | お使いのシステムの一意のユーザーID。 |
user.email | string | 購入時の領収書を送信するためのユーザーメールアドレスです。このパラメータを渡さなかった場合、決済画面にメールアドレス入力のための必須フィールドが表示されます。 |
settings.project_id | integer | ゲーマーのXsolla ID。この情報は、パブリッシャーアカウントのプロジェクトセクションで確認することができます。 |
ユーザーエクスペリエンスを向上させるために、以下のパラメータを渡すこともできます:
パラメータ | 種類 | 説明文 |
---|---|---|
user.name | string | レシートに表示されるユーザースクリーンネーム。 |
settings.currency | string | 優先決済通貨。 |
settings.language | string | インターフェース言語。 |
ユーザー認証トークンを取得するためのリクエスト例
curl -i -X POST \
-u 2340:ZHgbSDVP6LtAJVWu \
https://api.xsolla.com/merchant/v2/merchants/<merchant_id>/token \
-H 'Content-Type: application/json' \
-d '{
"settings": {
"currency": "USD",
"language": "en",
"project_id": <project_id>
}
},
"user": {
"email": {
"value": "<user_email>"
},
"id": {
"value": "<user_id>"
},
"name": {
"value": "<user_name>"
}
}
}'
応答で受け取ったユーザー認証トークンの例
{
"token": "1230OWrp0KF6uqvmN8jWuzLyoXMzxTyK_lc_en"
}
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。