--- title: "ウェブショップを設定する" description: "Tokenzのウェブショップは、Tokenzがホストするゲーム用のストアです。プレイヤーはそこでアイテムを購入し、Tokenzが決済を受け付け、ゲームサーバーがアイテムを付与します。ショップはダッシュボードで作成でき、ストアフロントを開発する必要はありません。" source: "https://docs.tokenz.one/ja/v2/checkout/webshop" api_version: "v2" locale: "ja" version_status: "current" docs_stage: "prod" --- # ウェブショップを設定する Tokenzのウェブショップは、Tokenzがホストするゲーム用のストアです。プレイヤーはそこでアイテムを購入し、Tokenzが決済を受け付け、ゲームサーバーがアイテムを付与します。ショップはダッシュボードで作成でき、ストアフロントを開発する必要はありません。 まずテストモードですべてを設定し、テスト購入をします。その後、1つのチェックリストからライブ公開します。ショップと注文のエンドポイントはテストからコピーでき、商品とプレイヤーIDの確認はライブでもう一度設定します。 ## 始める前に ダッシュボード右上のスイッチで、テストとライブを切り替えます。テストとライブでは商品、ショップ、Webhookエンドポイントが別々なので、テストで設定してもライブのショップは変わりません。テスト購入には[テストカード](https://docs.tokenz.one/ja/v2/checkout/testing#%E6%88%90%E5%8A%9F%E3%81%97%E3%81%9F%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E6%94%AF%E6%89%95%E3%81%84%E3%82%92%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B)を使い、誰にも請求されません。 ゲームサーバーはウェブショップのために2つの役割を担います。 - **注文を届ける。**Tokenzは支払い済みの注文をサーバーのエンドポイントに送り、サーバーがアイテムを付与します。 - **プレイヤーIDを確認する。**プレイヤーが支払う前に、Tokenzは入力されたプレイヤーIDが存在するかをサーバーに問い合わせます。これでアイテムが実在するアカウントに届きます。 サーバーがどちらにも対応する前に、ショップを試せます。[サーバーがまだない場合](https://docs.tokenz.one/ja/v2/checkout/webshop#no-server-yet)をご覧ください。 ## 1. 商品を追加する テストモードに切り替え、**ショップ** > **商品**を開きます。アイテムを1つずつ作成するか、ファイルからカタログをインポートします。[商品をインポートする](https://docs.tokenz.one/ja/v2/product/import)をご覧ください。 公開した商品がショップで販売されます。下書きはショップに表示されません。 ## 2. ショップを作る **ショップ** > **ビルダー**を開き、**ウェブショップを編集**を選択します。ショップのアドレスを決め、販売する各言語でロゴ、色、テキストを追加します。エディターの横のプレビューに、プレイヤーに表示されるショップが映ります。 プレイヤーは支払う前にプレイヤーIDを入力します。**プレイヤーIDのヘルプ**に、ゲーム内でIDが表示される場所を1〜2文で書いてください。スクリーンショットがあると伝わりやすくなります。プレイヤーは、プレイヤーID欄のヘルプアイコンからこの説明を開きます。 ショップの準備ができたら、**公開**を選択します。テストで公開してもショップは一般には公開されず、テスト購入ができる状態になります。 ## 3. 注文の送信を設定する **ショップ** > **ビルダー**で**送信を設定**を選択します。**注文の送信**ページで、注文をゲームサーバーに届ける方法を設定します。 1. **注文の送信先**に、注文を受け取るサーバーのHTTPSアドレスを入力し、**エンドポイントを保存**を選択します。 2. 署名シークレットをコピーします。Tokenzはエンドポイントを保存したときに一度だけ表示します。サーバーはこれを使って、各注文がTokenzから届いたことを確認します。[Webhookエンドポイントを保護する](https://docs.tokenz.one/ja/v2/checkout/webhooks-get-started#3%29-%E3%82%A6%E3%82%A7%E3%83%96%E3%83%95%E3%83%83%E3%82%AF%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%82%92%E4%BF%9D%E8%AD%B7%E3%81%99%E3%82%8B)をご覧ください。 3. **テストイベントを送信**を選択します。Tokenzが支払い済みのサンプル注文を送ります。サーバーは5秒以内に応答してください。 エンドポイントは、注文、返金、チャージバックのすべてのイベントを受け取ります。支払い済みの注文は`order.succeeded`イベントとして届き、`playerId`にプレイヤー、アイテムにはSKUが入ります。そのプレイヤーにアイテムを付与し、`refund.created`で取り消してください。イベントの説明は[Webhook](https://docs.tokenz.one/ja/v2/checkout/webhooks#%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%97)にあります。 エンドポイントを別の人が作る場合は、**開発者に渡す**で**設定概要をコピー**を選択します。概要にはエンドポイント、受け取るイベント、商品、サンプル注文が含まれます。署名シークレットは含まれないので、別に送ってください。 ### サーバーがまだない場合 テストモードでは、**注文の送信**ページに**Tokenzのテストサーバーを使う**が表示されます。テストサーバーはすべてのテスト注文を受け付け、ゲームには何も届けません。テストの検証URLを設定するまでは、テストのプレビューも入力されたプレイヤーIDを確認せずに受け付けます。そのため、サーバーのコードを書く前にテスト購入ができます。サーバーの準備ができたら、そのアドレスを入力してください。 ## 4. プレイヤーIDを確認する Tokenzは、注文を受け取るエンドポイントとは別に、サーバー上の検証URLでプレイヤーIDを確認します。**設定** > **開発者** > **ユーザー検証**を開くか、**注文の送信**ページで**「ユーザー検証」を開く**を選択します。テストとライブには、それぞれ専用のURLと署名シークレットがあるため、まずテストモードで設定します。 1. **検証を設定**を選択し、サーバーのHTTPSアドレスを入力して保存します。 2. 署名シークレットをコピーします。署名シークレットは生成時に一度だけ表示されます。 3. 実在するプレイヤーIDを入力し、**テスト検証を送信**を選択して、サーバーが応答することを確認します。 以降、プレイヤーがIDを入力すると、支払いの前に、TokenzはそのIDを含む`user.validation`リクエストをこのURLに送ります。ライブのURLが`true`と応答した後は、Tokenzが数分間その応答を再利用し、サーバーを呼ばないことがあります。そのため、アカウントをすぐに止める手段としてこの確認に頼らないでください。[応答の再利用](https://docs.tokenz.one/ja/v2/checkout/webhooks#player-id-check-reuse)を参照してください。テストのURLを設定するまでは、テストのプレビューはどのプレイヤーIDも受け付けるため、サーバーが応答できるようになってから設定してください。 ```json { "id": "9f8d3c2b-1a4e-4f6d-8b0c-2e5a7d9f1c34", "object": "user.validation", "createdAt": "2026-07-22T09:15:00Z", "test": true, "credentials": { "type": "playerId", "playerId": "player-42931" } } ``` HTTP `200`と、プレイヤーが存在するかどうかを返します。 ```json { "valid": true } ``` - プレイヤーが存在してもしなくても`200`を返してください。Tokenzはそれ以外のステータスを障害とみなし、プレイヤーは購入できません。 - 3秒以内に応答してください。応答がないとプレイヤーは支払えず、もう一度試すよう案内されます。 - `valid`だけを返してください。IDを入力した人は誰でも応答を読めるので、プレイヤーについての情報はほかに送らないでください。 - `test`が`true`のときは、テスト用のプレイヤーと照合してください。 - 注文と同じように`Tokenz-Signature`ヘッダーを検証してください。ただし、検証URLの署名シークレットを使います。 リクエストと応答の詳細は、[プレイヤーIDの確認](https://docs.tokenz.one/ja/v2/checkout/webhooks#player-id-checks)を参照してください。 ## 5. テスト購入をする **ショップ** > **ビルダー**で**プレビューを開く**を選択します。テストで最後に公開したショップが開きます。[テストカード](https://docs.tokenz.one/ja/v2/checkout/testing#%E6%88%90%E5%8A%9F%E3%81%97%E3%81%9F%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E6%94%AF%E6%89%95%E3%81%84%E3%82%92%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B)でアイテムを購入し、サーバーがアイテムを付与したことを確認します。ダッシュボードがテストモードのとき、注文は**注文**にも表示されます。 ## 6. ライブ公開する ダッシュボードをライブに切り替え、**ショップ** > **ビルダー**を開きます。**ライブ公開**のリストに、ライブでまだ必要なものが、それぞれのボタンとともに表示されます。 | 項目 | すること | | --- | --- | | 契約 | ページ上部の**アカウントを有効化**から署名します。ライブの決済が始まる前に、Tokenzが契約を確認します。プロジェクトは組織の契約でカバーされます。 | | ライブで販売中の商品 | ライブには専用の商品があります。**商品を追加**を選択し、ライブでもう一度作成またはインポートします。 | | ショップ | **テストからコピー**を選択すると、ライブの下書きがテストで公開したショップに置き換わります。 | | 注文の送信先 | テストの注文を自社のサーバーに送っている場合は、**ライブでも使う**を選択すると、ライブの注文も同じサーバーに送られます。ライブには専用の署名シークレットがあり、一度だけ表示されます。それ以外の場合は**設定**を選択し、サーバーのアドレスを入力します。 | | プレイヤーIDの確認 | ライブには専用の検証URLがあります。**設定**を選択してライブの**ユーザー検証**を開き、サーバーのアドレスを入力して、ライブの署名シークレットをコピーします。 | すべての項目の準備ができると、**ウェブショップを有効化**が使えるようになります。有効化するとライブのショップが公開され、プレイヤーはそのアドレスからアクセスできます。 ## お問い合わせ [Tokenzサポートに連絡](https://tokenz.one/ja/support)し、ショップのアドレスをお知らせください。