インゲームストア / ウェブフックの設定
  ドキュメントに戻る

インゲームストア

ウェブフックの設定

ウェブフックは、システムで発生したイベントの通知です。特定のイベントが発生すると、エクソーラはイベントデータを送信するHTTPリクエストをアプリケーションに送信します。これは通常JSON形式のPOSTリクエストです。

イベント例

  • アイテムカタログとのユーザーインタラクション
  • 注文の支払いまたはキャンセル

ウェブフックのリスト

インゲームストアを完全に操作するには、主要なウェブフックの処理を実装する必要があります:

  • 決済 — 注文が支払われたときに送信され、決済データおよび取引の詳細が含まれます。
  • ご注文の決済が完了した決済ウェブフックが正常に処理されたときに送信され、購入したアイテムに関する情報とトランザクションIDが含まれます。ウェブフックのデータを使用して、ユーザーにアイテムを追加します。
  • 返金 — 注文がキャンセルされたときに送信され、キャンセルされた決済データと取引の詳細が含まれます。
  • 注文キャンセル返金ウェブフックが正常に処理されたときに送信され、購入したアイテムに関する情報とキャンセルされたトランザクションのIDが含まれています。購入した商品を削除するには、ウェブフックのデータを使用します。
  • ユーザー検証 — ユーザーがゲームに登録されていることを確認するために、決済プロセスのさまざまな段階で送信されます。

アイテムカタログのパーソナライゼーションがアプリケーション側で実装されている場合は、パートナー側でカタログのパーソナライゼーションの処理を設定します。

次のウェブフックの受信をテストできます:

お知らせ
実際に支払いを受けるには、「決済」、「ご注文の決済が完了した」と「ユーザー検証」ウェブフックを実装し、ライセンス契約に署名するだけで済みます。
お知らせ
ウェブフックを使う代わりに、PlayFab統合を使って決済情報や注文キャンセル情報を受け取ることができます。

アドミンページでのウェブフックのセットアップ

ウェブフックの受信を有効にするには:

  1. アドミンページでプロジェクトを開きます。
  2. サイドメニューの「プロジェクト設定」をクリックし、「ウェブフック」タブに移動します。
  3. ウェブフックサーバー」フィールドに、https://example.com形式でウェブフックを受信したいサーバーのURLを指定します。ウェブフックをテストするツールで見つけたURLを指定することもできます。
  4. プロジェクトのウェブフックに署名するための秘密鍵がデフォルトで生成されます。新しい秘密鍵を生成したい場合は、更新アイコンをクリックします。
  5. ウェブフックを有効にする」をクリックします。

お知らせ
ウェブフックをテストするには、webhook.siteなどの専用サイトや、ngrokなどのプラットフォームを選択することもできます。
注意
同時に異なるURLにウェブフックを送信することはできません。アドミンページでは、まずテスト用のURLを指定してから、実際のURLに置き換えることができます。
ウェブフックの受信を無効にするには:
  1. アドミンページでプロジェクトを開きます。
  2. サイドメニューで「プロジェクト設定」をクリックし、「ウェブフック」タブに移動します。
  3. ウェブフックを無効にする」をクリックします。

アドミンページでのウェブフックをテストする

次のウェブフックの受信をテストできます:

ウェブフック名ウェブフックタイプ
ユーザー検証user_validation
決済payment
注文キャンセルorder_canceled
ご注文の決済が完了したorder_paid

ウェブフックが正常にセットアップされると、ウェブフックセットアップブロックの下にウェブフックテストブロックが表示されます。

ウェブフックリスナー

ウェブフックリスナーは、指定されたURLアドレスで受信したウェブフックを受信し、署名を生成し、エクソーラウェブフックサーバーに応答を送信できるようにするプログラムコードです。

署名の生成

ウェブフックを受信する場合、データ伝送のセキュリティを確保する必要があります。そのためには、ウェブフックのデータから署名を生成し、それがHTTPリクエストヘッダで送信された署名と一致することを検証する必要があります。

署名を生成するには:

  1. リクエスト本文のJSONとプロジェクトの秘密鍵を連結します。
  2. 最初のステップで取得した文字列にSHA-1暗号化ハッシュ関数を適用します。

ウェブフックへの応答の送信

ウェブフックの受信を確認するには、サーバーが以下のことを返す必要があります:

  • 成功した応答の場合は200201、または204 HTTPコード。
  • 指定されたユーザーが見つからなかったり、無効な署名が渡された場合、問題に関する説明が記載された400 HTTPコードが表示されます。

ウェブフックハンドラーは、サーバーに一時的な問題が発生した場合に5xxコードを返すこともあります。

ご注文の決済が完了した」と「注文キャンセル」のウェブフックで応答を受信しなかった場合、または5xxコードの応答を受信した場合、以下のスケジュールでウェブフックを再送信します:

  • 5分間隔で2回再試行
  • 15分間隔で7回再試行
  • 60分間隔で10回再試行

ウェブフックの送信は、最初の試行から12時間以内に最大20回まで試行されます。

決済ウェブフックの応答が受信されなかった場合、または5xxコードを含む応答を受け取った場合は、ウェブフックも時間間隔を空けて再送信されます。12時間以内に最大12回の試行が行われます。

ユーザー検証ウェブフックに対する応答が受信されなかった場合、400または5xxのコードを含む応答が受信された場合、ユーザー検証ウェブフックは再送信されません。

この場合、ユーザーにはエラーが表示され、「決済」と「ご注文の決済が完了した」のウェブフックは送信されません。

お知らせ
ウェブフックの完全なリストとメカニズム、およびその処理の詳細な事例については、ウェブフックドキュメンテーションに記載されています。
進捗状況
ご意見ありがとうございました!
最終更新日: 2024年2月28日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!