ウェブフックをセットアップする

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

イベント例

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

ウェブフックのリスト

ゲームキーの販売には、ユーザー検証やアイテムのクレジットは必要ありません。支払いや注文のキャンセルなどのイベントに関する情報を受け取りたい場合は、ウェブフックを接続できます。

ウェブフックを接続する場合は、受信した必要なウェブフックをすべて処理することが重要です。

注意

エクソーラ側では、アイテムの購入や返金が発生した際にウェブフックを受信する方法として、2つのオプションが用意されています:決済およびトランザクションデータと、購入済みアイテムに関する情報を、別々に受信するか、1つのウェブフックに統合して受信するかを選択できます。デフォルトでは、すべての新規プロジェクトで統合されたウェブフックが受信される設定になっています。

組み込みのウェブフックを受信する新しいオプションに切り替えるには、カスタマーサクセスマネージャーに連絡するか、csm@xsolla.comに電子メールを送信してください。

ウェブフック受信オプションの詳細情報

組み込みのウェブフックで情報を受信します:

2025年1月22日以降にパブリッシャーアカウントに登録した、またはプロジェクトを作成した場合、注文支払い完了order_paid)と注文のキャンセルorder_canceled)のウェブフックですべての情報を受け取ります。この場合、支払いpayment)と返金refund)ウェブフックを処理する必要はありません。

個別のウェブフックで情報を受信します:

2025年1月22日以前にパブリッシャーアカウントに登録した、またはプロジェクトを作成した場合、以下のウェブフックを受け取ります:

すべての受信ウェブフックを処理する必要があります。

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

ウェブフック名説明
ユーザー検証 > ユーザー検証user_validationユーザーがゲームに登録されていることを確認するため、支払いプロセスのさまざまな段階で送信されます。
ゲームサービス > 組み込みのウェブフック > 注文支払い完了order_paid支払いデータ、トランザクションの詳細、購入した商品に関する情報が含まれます。ウェブフックのデータを使用して、ユーザーにアイテムを追加します。
ゲームサービス > 組み込みのウェブフック > 注文のキャンセルorder_canceledキャンセルされた支払いのデータ、取引の詳細、購入した商品に関する情報が含まれます。ウェブフックのデータを使用して、購入したアイテムを削除します。

以下のスキームは、集約ウェブフックを使用してアイテムを購入して返品するプロセスを示しています。

注意
返金およびチャージバックは、ユーザーだけでなく、エクソーラまたは決済プロバイダー側から発生する可能性があります。

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

注意
実際の支払いを受け取るには、ライセンス契約に署名し、ウェブフックの処理を実装するだけです:
注意
ウェブフックを使う代わりに、PlayFab統合を使って決済情報や注文キャンセル情報を受け取ることができます。

パブリッシャーアカウントでのウェブフックのセットアップ

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

  1. パブリッシャーアカウント内のプロジェクトで、設定 >ウェブフックセクションに移動します。
  2. ウェブフックサーバーフィールドに、ウェブフックを受信したいサーバーのURLをhttps://example.com形式で指定します。ウェブフックテストツールで見つけたURLを指定することもできます。
お知らせ
データ転送にはHTTPSプロトコルが使用されます。HTTPプロトコルはサポートされていません。
  1. プロジェクトのウェブフックに署名するための秘密鍵は、デフォルトで生成されます。新しい秘密鍵を生成したい場合は、更新アイコンをクリックします。
  2. ウェブフックを有効にする」をクリックします。

ウェブフックサーバー」フィールドにURLを保存すると、詳細設定セクションが表示され、ウェブフックで詳細情報を受信するための権限を与えることができます。これを行うには、必要なトグルを「アクティブ」に設定します。各権限の行には、設定に影響を受けるウェブフックのリストが表示されます。

注意
2025年1月22日以前にパブリッシャーアカウントに登録された場合は、設定 > ウェブフック > テスト > 決済ソリューション > 詳細設定セクションでトグルを見つけます。
注意
ウェブフックをテストするには、webhook.siteなどの専用サイトや、ngrokなどのプラットフォームを選択することもできます。
お知らせ
同時に異なるURLにウェブフックを送信することはできません。パブリッシャーアカウントでは、まずテスト用のURLを指定してから、実際のURLに置き換えることができます。
ウェブフックの受信を無効にするには:
  1. パブリッシャーアカウント内のプロジェクトで、設定 >ウェブフックセクションに移動します。
  2. ウェブフックを無効にする」をクリックします。

パブリッシャーアカウントでのウェブフックをテストする

プロジェクトでウェブフックを有効化すると、パブリッシャーアカウント内の詳細設定の下に、ウェブフックをテストするためのセクションが表示されます。

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

ウェブフックテスト用タブ名ウェブフック名とタイプ
決済ソリューションとストアユーザー検証 > ユーザー検証user_validation
ゲームサービス > 組み込みのウェブフック > 注文支払い完了order_paid
ゲームサービス > 組み込みのウェブフック > 注文のキャンセルorder_canceled
サブスクリプションユーザー検証 > ユーザー検証user_validation
決済 > 支払いpayment
異議申し立て不正決済防止 > 異議申し立て (dispute)
注意
以下に、統合されたウェブフックを使用する場合のシナリオをテストするための説明です。

ウェブフックをテストするには:

  1. ウェブフックテストセクションでは、「決済ソリューションとストア」タブに移動します。
  2. ドロップダウンメニューからゲームキーを選択します。プロジェクト内にゲームキーパッケージが設定されていない場合は、設定画面へ移動するためのボタンが表示されます。
  3. 必要なフィールドを記入します:
    • エクソーラ注文ID — エクソーラ側の注文IDです。テスト時は任意の数値を入力できます。
    • エクソーラ請求書IDは、エクソーラ側のトランザクションIDです。テスト時は任意の数値を入力できます。
    • アイテム — ウェブフックで情報を受け取りたいアイテムを指定します。ドロップダウンリストからアイテムのSKUを選択し、数量を入力してください。「+」をクリックして新しい行を追加することで、同じタイプのアイテムを複数選択できます。
    • ユーザーID — テスト時は、任意の英数字の組み合わせを使用できます。
    • インボイスID — ゲーム側でのトランザクションIDです。テスト時は任意の英数字の組み合わせを使用できます。これは決済を正常に完了させるための必須パラメータではありませんが、これを渡すことで、ゲーム側のトランザクションIDとエクソーラ側のトランザクションIDを紐付けることができます。
    • 金額 — 決済金額です。テスト時は任意の数値を入力できます。
    • 通貨 — ドロップダウンリストから通貨を選択します。
  4. テストウェブフックをテスト」をクリックします。

注文支払い完了注文のキャンセルおよびユーザー検証に関するウェブフックが、指定されたデータとともに、提供されたURLに送信されます。各ウェブフックタイプのテスト結果は、「ウェブフックをテスト」ボタンの下に表示されます。各ウェブフックについて、「成功」と「エラー」の両方のシナリオの処理を構成する必要があります。

注意
テストに合格しなかったことを示すエラーメッセージがテストブロックに表示された場合は、ウェブフックリスナーのウェブフック応答設定を確認してください。これらのエラーに関する情報は、テスト結果に記載されています。

ウェブフックリスナー

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

署名の生成

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

署名を生成するには:

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

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

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

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

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

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

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

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

決済および返金のウェブフックにおけるリトライロジックについては、それぞれのウェブフック詳細ページに記載されています。

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

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

注意
ウェブフックの完全なリストとメカニズム、およびその処理の詳細な事例については、ウェブフックに関するドキュメントに記載されています。
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
最終更新日: 2025年12月31日

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

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!
フィードバックを送信できませんでした
後でもう一度お試しいただくか、doc_feedback@xsolla.comまでお問い合わせください。