ユーザーに購入権限を付与する
エクソーラから受け取ったトランザクションの詳細および購入したアイテムに関するウェブフックから受信した情報を使用して、アプリケーション内のユーザーに購入を付与する機能を実装します。
商品を購入して返品する際には、エクソーラ側に2つのウェブフック受信オプションが設定されています。支払いと取引データを含む情報と購入した商品に関する情報は、別々に取得することも、1つのウェブフックにまとめることもできます。
ウェブフック受信オプションの詳細情報
組み込みのウェブフックで情報を受信します:
2025年1月22日以降にアドミンページに登録した、またはプロジェクトを作成した場合、注文支払い完了(order_paid
)と注文のキャンセル(order_canceled
)のウェブフックですべての情報を受け取ります。この場合、支払い(payment
)と返金(refund
)ウェブフックを処理する必要はありません。
個別のウェブフックで情報を受信します:
2025年1月22日以前にアドミンページに登録した、またはプロジェクトを作成した場合、以下のウェブフックを受け取ります:
- 支払いデータや取引の詳細に関する情報を含む支払い(
payment
)と返金(refund
)ウェブフック。 - 購入したアイテムに関する情報を含む注文支払い完了(
order_paid
)と注文のキャンセル(order_canceled
)ウェブフック。
すべての受信ウェブフックを処理する必要があります。
組み込みのウェブフックを受信する新しいオプションに切り替えるには、カスタマーサクセスマネージャーに連絡するか、csm@xsolla.comに電子メールを送信してください。
インゲームストアと決済管理を完全に操作するには、メインのウェブフックの処理を実装する必要があります:
ウェブフック名 | 説明 |
---|---|
ユーザー検証 > ユーザー検証(user_validation ) | ユーザーがゲームに登録されていることを確認するため、支払いプロセスのさまざまな段階で送信されます。 |
ゲームサービス > 組み込みのウェブフック > 注文支払い完了(order_paid ) | 支払いデータ、トランザクションの詳細、購入した商品に関する情報が含まれます。ウェブフックのデータを使用して、ユーザーにアイテムを追加します。 |
ゲームサービス > 組み込みのウェブフック > 注文のキャンセル(order_canceled ) | キャンセルされた支払いのデータ、取引の詳細、購入した商品に関する情報が含まれます。ウェブフックのデータを使用して、購入したアイテムを削除します。 |
以下のスキームは、集約ウェブフックを使用してアイテムを購入して返品するプロセスを示しています。
アイテムカタログのパーソナライゼーションがアプリケーション側で実装されている場合は、パートナー側でカタログのパーソナライゼーションの処理を設定します。
アドミンページでのウェブフックのセットアップ
- アドミンページでプロジェクトを開きます。
- サイドメニューの「プロジェクト設定」をクリックし、「ウェブフック」タブに移動します。
- 「ウェブフックサーバー」フィールドに、
https://example.com
形式でウェブフックを受信したいサーバーのURLを指定します。ウェブフックをテストするツールで見つけたURLを指定することもできます。 - プロジェクトのウェブフックに署名するための秘密鍵がデフォルトで生成されます。新しい秘密鍵を生成したい場合は、更新アイコンをクリックします。
- 「ウェブフックを有効にする」をクリックします。
アドミンページでのウェブフックをテストする
ウェブフックが正常にセットアップされると、ウェブフックセットアップブロックの下にウェブフックテストブロックが表示されます。
アドミンページのテストセクションは、ウェブフック受信オプションによって異なります。
実数値がない場合は、任意の値を入力できます。
サンドボックスモードまたはライブモードで購入する際にウェブフックをテストすることもできます。返金をテストする機能はライブモードでのみ利用できます。
ウェブフックへの応答の送信
ウェブフックの受信を確認するには、サーバーが以下のことを返す必要があります:
- 成功した応答の場合は
200
、201
、または204
HTTPコード。 - 指定されたユーザーが見つからなかったり、無効な署名が渡された場合、問題に関する説明が記載された
400
HTTPコードが表示されます。
ウェブフックハンドラーは、サーバーに一時的な問題が発生した場合に5xx
コードを返すこともあります。
次のステップ
お役立ちリンク
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。