Платежи через 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#
using UnityEngine;
using Xsolla.Catalog;
using Xsolla.Core;
namespace Xsolla.Samples.Steam
{
public class SellViaSteamGateway : MonoBehaviour
{
// Function for starting the purchase process via Steam Gateway
public void PurchaseItem(string itemSku)
{
// Get additional headers for the request from `SteamUtils` class
var additionalHeaders = SteamUtils.GetAdditionalCustomHeaders();
// Starting the purchase process
// Pass the `itemSku` parameter and callback functions for success and error cases
// Pass `additionalHeaders` variable as the optional `customHeaders` parameter
XsollaCatalog.Purchase(itemSku, OnPurchaseSuccess, OnError, customHeaders: additionalHeaders);
}
private void OnPurchaseSuccess(OrderStatus status)
{
Debug.Log("Purchase successful");
// Add actions taken in case of success
}
private void OnError(Error error)
{
Debug.LogError($"Error: {error.errorMessage}");
// Add actions taken in case of error
}
}
}
Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Полезные ссылки
Последнее обновление: 10 октября 2023Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.