ウェブフックの設定
ウェブフックは、パラメータとそれに対応する値で構成されるプログラムコードです。特定のイベントが発生すると、パラメータの値が更新されたHTTPリクエストがアプリケーションに送信されます。これは通常、JSON形式のPOSTリクエストです。
イベントの例:ユーザーによるアイテムカタログの操作、決済、注文のキャンセル。
ウェブフックのリスト
インゲームストアを完全に操作するには、主要なウェブフックの処理を実装する必要があります:
- 決済 — 注文が支払われたときに送信され、決済データおよび取引の詳細が含まれます。
- ご注文の決済が完了した — 決済ウェブフックが正常に処理されたときに送信され、購入したアイテムに関する情報とトランザクションIDが含まれます。ウェブフックのデータを使用して、ユーザーにアイテムを追加します。
- 返金 — 注文がキャンセルされたときに送信され、キャンセルされた決済データと取引の詳細が含まれます。
- 注文キャンセル — 返金ウェブフックが正常に処理されたときに送信され、購入したアイテムに関する情報とキャンセルされたトランザクションのIDが含まれています。購入した商品を削除するには、ウェブフックのデータを使用します。
- ユーザー検証 — ユーザーがゲームに登録されていることを確認するために、決済プロセスのさまざまな段階で送信されます。
アイテムカタログのパーソナライゼーションがアプリケーション側で実装されている場合は、パートナー側でカタログのパーソナライゼーションの処理を設定します。
external ID(システム上のトランザクションID)を使用していて、エクソーラ側でトランザクションIDと関連付けたり、ユーザー検証時に追加パラメータを渡したい場合は、トランザクションのIDをリンクするウェブフックを実装します。
アドミンページでのウェブフックの設定
ウェブフックをセットアップするには:
- アドミンページであなたのプロジェクトを開きます。
- サイドメニューで「プロジェクト設定」をクリックし、「ウェブフック」に移動します。
- 「ウェブフック」トグルを「オン」に設定します。
https://example.com
形式でウェブフックを受信したいURLを指定します。- プロジェクトのウェブフックに署名するための秘密鍵は、デフォルトで生成されます。新しい秘密鍵を生成したい場合は、更新アイコンをクリックします。
- 「設定を保存」をクリックします。
アドミンページでのウェブフックのテスト
external ID(システム上のトランザクションID)を使用していて、エクソーラ側でトランザクションIDと関連付けたり、ユーザー検証時に追加パラメータを渡したい場合は、トランザクションのIDをリンクするウェブフックを実装します。
ウェブフック名 | ウェブフックタイプ |
---|---|
ユーザー検証 | user_validation |
決済 | payment |
注文キャンセル | order_canceled |
ご注文の決済が完了した | order_paid |
ウェブフックが正常にセットアップされると、ウェブフックセットアップブロックの下にウェブフックテストブロックが表示されます。

ウェブフックリスナー
ウェブフックリスナーは、指定されたURLアドレスで受信したウェブフックを受信し、署名を生成し、エクソーラウェブフックサーバーに応答を送信できるようにするプログラムコードです。
署名の生成
ウェブフックを受信する場合、データ伝送のセキュリティを確保する必要があります。そのためには、ウェブフックのデータから署名を生成し、それがHTTPリクエストヘッダで送信された署名と一致することを検証する必要があります。
署名を生成するには:
- リクエスト本文のJSONとプロジェクトの秘密鍵を連結します。
- 最初のステップで取得した文字列にSHA-1暗号化ハッシュ関数を適用します。
ウェブフックへの応答の送信
ウェブフックの受信を確認するには、サーバーが以下のことを返す必要があります:
- 応答が成功した場合のメッセージ本文のない
204
HTTPコード。 - 指定されたユーザーが見つからなかったり、無効な署名が渡された場合、問題に関する説明が記載された
400
HTTPコードが表示されます。
ウェブフックハンドラーは、サーバーに一時的な問題が発生した場合に5xx
コードを返すこともあります。
「ご注文の決済が完了した」と「注文キャンセル」のウェブフックで応答を受信しなかった場合、または5xx
コードの応答を受信した場合、以下のスケジュールでウェブフックを再送信します:
- 5分間隔で2回再試行
- 15分間隔で7回再試行
- 60分間隔で10回再試行
ウェブフックの送信は、最初の試行から12時間以内に最大20回まで試行されます。
決済ウェブフックの応答が受信されなかった場合、または5xx
コードを含む応答を受け取った場合は、ウェブフックも時間間隔を空けて再送信されます。12時間以内に最大12回の試行が行われます。
ユーザー検証ウェブフックに対する応答が受信されなかった場合、400
または5xx
のコードを含む応答が受信された場合、ユーザー検証ウェブフックは再送信されません。
この場合、ユーザーにはエラーが表示され、「決済」と「ご注文の決済が完了した」のウェブフックは送信されません。
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。