Платежи через Steam
Внимание
Инструкция подходит для тех, у кого заключен прямой договор со Steam. Чтобы использовать другие способы оплаты через платежный интерфейс Xsolla, не требуется выполнять дополнительную настройку, даже если вы реализовали аутентификацию пользователей через Steam.
Xsolla может выступать платежным шлюзом при оплате внутриигровых покупок через Steam. При этом вам не требуется интегрировать Steam SDK и учитывать особенности оплаты через Steam при реализации внутриигрового магазина.
Чтобы настроить платежи через Steam:
- Подпишите дополнительное соглашение с Xsolla.
Примечание
Xsolla взимает сниженный процент Revenue share при проведении платежей через Steam. Уточните условия у персонального менеджера проекта.
- Настройте прямой аккаунт для Steam в Личном кабинете.
- Подключите нативную авторизацию через Steam.
- Реализуйте логику покупки товара с помощью методов SDK. При реализации логики покупки в приложении получите дополнительные заголовки для запросов, вызвав метод
SteamUtils.GetAdditionalCustomHeaders
. Передайте полученные заголовки в качестве параметраcustomHeaders
при вызове методов SDK для покупки (например,Purchase
) или создания заказа (например,PurchaseItem
).
Пример скрипта покупки товара через 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
15 // Starting the purchase process
16 // Pass the `itemSku` parameter and callback functions for success and error cases
17 // Pass `additionalHeaders` variable as the optional `customHeaders` parameter
18 XsollaCatalog.Purchase(itemSku, OnPurchaseSuccess, OnError, customHeaders: additionalHeaders);
19 }
20
21 private void OnPurchaseSuccess(OrderStatus status)
22 {
23 Debug.Log("Purchase successful");
24 // Add actions taken in case of success
25 }
26
27 private void OnError(Error error)
28 {
29 Debug.LogError($"Error: {error.errorMessage}");
30 // Add actions taken in case of error
31 }
32 }
33}
Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Полезные ссылки
Последнее обновление: 8 октября 2025Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.