Steam経由での支払い

お知らせ
Steamと直接契約している場合は、このハウツーに従ってください。Steamを介したユーザー認証を実装している場合でも、エクソーラの決済UI(ペイステーション)内にあるその他の決済方法は、追加の設定なしで機能します。

エクソーラは、プレイヤーがSteam経由でゲーム内購入の支払いを行う際に、決済ゲートウェイとして機能することができます。この場合、インゲームストアを設定する際に、Steam SDKを統合したり、Steam経由での支払いのニュアンスを考慮したりする必要はありません。

Steam経由で決済ソリューションをセットアップするには:

  1. エクソーラと追加契約を締結します。
注意
エクソーラは、Steam経由で決済を行う際に、収益分配を減らします。詳細はカスタマーサクセスマネージャーに確認してください。
  1. パブリッシャーアカウントで、Steam用のゲートウェイをセットアップします
  2. Steam経由でネイティブ認証をセットアップします
  3. SDKメソッドを使用して、アイテム購入ロジックを実装します。
  1. アプリケーションに購入ロジックを実装する場合、SteamUtils.GetAdditionalCustomHeadersメソッドを呼び出して追加のリクエストヘッダーを取得します。SDKメソッドを呼び出して購入する時(Purchaseなど)、または注文を作成するとき(PurchaseItemなど)、受信したヘッダーをcustomHeadersパラメータに渡します。
  2. Steamオーバーレイ内で決済UIを開く場合には、Purchaseメソッドを呼び出す際に、UseSteamOverlayForDesktop = trueパラメータ付きのPlatformSpecificAppearanceオブジェクトを渡します。

Steam経由のアイテム購入用スクリプトの例:

Copy
Full screen
Small screen
 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を押します。

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