SDK для Unity / Платежи через Steam
  На главную

SDK для Unity

Платежи через Steam

Внимание
Инструкция подходит для тех, у кого заключен прямой договор со Steam. Чтобы использовать другие способы оплаты через платежный интерфейс Xsolla, не требуется выполнять дополнительную настройку, даже если вы реализовали аутентификацию пользователей через Steam.

Xsolla может выступать платежным шлюзом при оплате внутриигровых покупок через Steam. При этом вам не требуется интегрировать Steam SDK и учитывать особенности оплаты через Steam при реализации внутриигрового магазина.

Чтобы настроить платежи через Steam:

  1. Подпишите дополнительное соглашение с Xsolla.

Примечание
Xsolla взимает сниженный процент Revenue share при проведении платежей через Steam. Уточните условия у персонального менеджера проекта.

  1. Настройте прямой аккаунт для Steam в Личном кабинете.
  2. Подключите нативную авторизацию через Steam.
  3. Реализуйте логику покупки товара с помощью методов SDK. При реализации логики покупки в приложении получите дополнительные заголовки для запросов, вызвав метод SteamUtils.GetAdditionalCustomHeaders. Передайте полученные заголовки в качестве параметра customHeaders при вызове методов SDK для покупки (например, Purchase) или создания заказа (например, PurchaseItem).

Пример скрипта покупки товара через Steam:

Copy
Full screen
Small screen
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.

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!