Steam経由での支払い
お知らせ
Steamと直接契約している場合は、このハウツーに従ってください。Steamを介したユーザー認証を実装している場合でも、エクソーラの決済UI(ペイステーション)内にあるその他の決済方法は、追加の設定なしで機能します。
エクソーラは、プレイヤーがSteam経由でゲーム内購入の支払いを行う際に、決済ゲートウェイとして機能することができます。この場合、インゲームストアを設定する際に、Steam SDKを統合したり、Steam経由での支払いのニュアンスを考慮したりする必要はありません。
Steam経由で決済ソリューションをセットアップするには:
- エクソーラと追加契約を締結します。
注意
エクソーラは、Steam経由で決済を行う際に、収益分配を減らします。詳細はカスタマーサクセスマネージャーに確認してください。
- パブリッシャーアカウントで、Steam用のゲートウェイをセットアップします。
- Steam経由でネイティブ認証をセットアップします。
- SDKメソッドを使用して、アイテム購入ロジックを実装します。
- アプリケーションに購入ロジックを実装する場合、
SteamUtils.GetAdditionalCustomHeadersメソッドを呼び出して追加のリクエストヘッダーを取得します。SDKメソッドを呼び出して購入する時(Purchaseなど)、または注文を作成するとき(PurchaseItemなど)、受信したヘッダーをcustomHeadersパラメータに渡します。 - Steamオーバーレイ内で決済UIを開く場合には、
Purchaseメソッドを呼び出す際に、UseSteamOverlayForDesktop = trueパラメータ付きのPlatformSpecificAppearanceオブジェクトを渡します。
Steam経由のアイテム購入用スクリプトの例:
Copy
- C#
1using UnityEngine;
2using Xsolla.Catalog;
3using Xsolla.Core;
4
5namespace Xsolla.Samples.Steam
6{
7 public class SellViaSteamGateway : MonoBehaviour
8 {
9 // Function for starting the purchase process via Steam Gateway
10 public void PurchaseItem(string itemSku)
11 {
12 // Get additional headers for the request from `SteamUtils` class
13 var additionalHeaders = SteamUtils.GetAdditionalCustomHeaders();
14 // Create `PlatformSpecificAppearance` object and set up `UseSteamOverlayForDesktop`
15 var appearance = new PlatformSpecificAppearance {
16 UseSteamOverlayForDesktop = true
17 };
18 // Starting the purchase process
19 // Pass the `itemSku` parameter and callback functions for success and error cases
20 // Pass `additionalHeaders` variable as the optional `customHeaders` parameter
21 // Pass `appearance` variable as the optional `platformSpecificAppearance` parameter
22 XsollaCatalog.Purchase(itemSku, OnPurchaseSuccess, OnError, customHeaders: additionalHeaders, platformSpecificAppearance: appearance);
23 }
24 private void OnPurchaseSuccess(OrderStatus status)
25 {
26 Debug.Log("Purchase successful");
27 // Add actions taken in case of success
28 }
29 private void OnError(Error error)
30 {
31 Debug.LogError($"Error: {error.errorMessage}");
32 // Add actions taken in case of error
33 }
34 }
35}
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。お役立ちリンク
最終更新日: 2026年5月19日誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。