ユーザーに購入権限を付与する
エクソーラから受け取ったトランザクションの詳細および購入したアイテムに関するウェブフックから受信した情報を使用して、アプリケーション内のユーザーに購入を付与する機能を実装します。
商品を購入して返品する際には、エクソーラ側に2つのウェブフック受信オプションが設定されています。支払いと取引データを含む情報と購入した商品に関する情報は、別々に取得することも、1つのウェブフックにまとめることもできます。
ウェブフック受信オプションの詳細情報
組み込みのウェブフックで情報を受信します:
2025年1月22日以降にパブリッシャーアカウントに登録した、またはプロジェクトを作成した場合、注文支払い完了(order_paid
)と注文のキャンセル(order_canceled
)のウェブフックですべての情報を受け取ります。この場合、支払い(payment
)と返金(refund
)ウェブフックを処理する必要はありません。
個別のウェブフックで情報を受信します:
2025年1月22日以前にパブリッシャーアカウントに登録した、またはプロジェクトを作成した場合、以下のウェブフックを受け取ります:
- 支払いデータや取引の詳細に関する情報を含む支払い(
payment
)と返金(refund
)ウェブフック。 - 購入したアイテムに関する情報を含む注文支払い完了(
order_paid
)と注文のキャンセル(order_canceled
)ウェブフック。
すべての受信ウェブフックを処理する必要があります。
組み込みのウェブフックを受信する新しいオプションに切り替えるには、カスタマーサクセスマネージャーに連絡するか、csm@xsolla.comに電子メールを送信してください。
インゲームストアと決済管理を完全に操作するには、メインのウェブフックの処理を実装する必要があります:
アイテムカタログのパーソナライゼーションがアプリケーション側で実装されている場合は、パートナー側でカタログのパーソナライゼーションの処理を設定します。
パブリッシャーアカウントでのウェブフックのセットアップ
- パブリッシャーアカウントでプロジェクトを開き、プロジェクト設定 >ウェブフックセクションに移動します。
- 「ウェブフックサーバー」フィールドに、
https://example.com
形式でウェブフックを受信したいサーバーのURLを指定します。ウェブフックをテストするツールで見つけたURLを指定することもできます。 - プロジェクトのウェブフックに署名するための秘密鍵がデフォルトで生成されます。新しい秘密鍵を生成したい場合は、更新アイコンをクリックします。
- 「ウェブフックを有効にする」をクリックします。
パブリッシャーアカウントでのウェブフックをテストする
ウェブフックが正常にセットアップされると、ウェブフックセットアップブロックの下にウェブフックテストブロックが表示されます。
パブリッシャーアカウントのテストセクションは、ウェブフック受信オプションによって異なります。
実数値がない場合は、任意の値を入力できます。
サンドボックスモードまたはライブモードで購入する際にウェブフックをテストすることもできます。返金をテストする機能はライブモードでのみ利用できます。
ウェブフックへの応答の送信
ウェブフックの受信を確認するには、サーバーが以下のことを返す必要があります:
- 成功した応答の場合は
200
、201
、または204
HTTPコード。 - 指定されたユーザーが見つからなかったり、無効な署名が渡された場合、問題に関する説明が記載された
400
HTTPコードが表示されます。
ウェブフックハンドラーは、サーバーに一時的な問題が発生した場合に5xx
コードを返すこともあります。
次のステップ
ウェブフックにおけるアイテム情報の構成
注文支払い完了と注文のキャンセルのウェブフックで送信されるアイテムデータは、items配列を通じて設定できます。
追加パラメータの包含の有効化
以下の情報を示す追加パラメータの包含を有効にします:
- アイテムが無料かどう(
is_free
) - アイテムがボーナスかどうか(
is_bonus
) - アイテムがバンドルの一部かどうか(
is_bundle_content
)
これらのパラメータを受け取るには、ウェブフック設定に関する情報を更新するAPIコールを使用してウェブフックのバージョンを2
に変更してください。バージョン1
(デフォルト)では、これらのパラメータは提供されていません。
追加パラメータを含むアイテム配列の例:
- json
1
2"items": [
3 {
4 "sku": "com.xsolla.item_new_1",
5 "type": "bundle",
6 "is_pre_order": false,
7 "is_free": false,
8 "is_bonus": false,
9 "Is_bundle_content": false,
10 "quantity": 1,
11 "amount": "1000",
12 "promotions": []
13 },
14 {
15 "sku": "com.xsolla.gold_1",
16 "type": "virtual_currency",
17 "is_pre_order": false,
18 "is_free": false,
19 "is_bonus": false,
20 "is_bundle_content": true,
21 "quantity": 1500,
22 "amount": "[null]",
23 "promotions": []
24 }
25 ],
バンドルコンテンツ包含の無効化
デフォルトでは、ウェブフックはバンドルのすべてのアイテムを個々のアイテムのリストとして含めます。ウェブフックのコンテンツをリスト化せずに、バンドルそのもののみを含めるように設定することができます。
この場合、バンドルに含まれるアイテムはitems配列には含まれません。上記の配列で示されているように、バンドルの一部であるSKUcom.xsolla.gold_1
のアイテムは除外されます。
バンドルコンテンツが無効になっている場合のアイテム配列の例:
- json
1
2"items": [
3 {
4 "sku": "com.xsolla.item_new_1",
5 "type": "bundle",
6 "is_pre_order": false,
7 "is_free": false,
8 "is_bonus": false,
9 "Is_bundle_content": false,
10 "quantity": 1,
11 "amount": "1000",
12 "promotions": []
13 }
14 ],
バンドルコンテンツ包含を無効にするには、カスタマーサクセスマネージャーまでお問い合わせるか、csm@xsolla.comに電子メールを送信してください。
お役立ちリンク
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。