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