Dokumentacja Steamworks
Odnawialne płatności w grze

Wprowadzenie

Uwaga: Ten dokument stanowi dodatek do dokumentu właściwego dotyczącego zakupów w grze. API tutaj opisane stanowią rozszerzenie API wspomnianego w dokumencie właściwym. Jeśli szukasz informacji na temat odnawialnych subskrypcji w Sklepie Steam, zapoznaj się z dokumentacją na ten temat.

Przy tworzeniu odnawialnych płatności dla użytkowników Steam należy najpierw przedstawić użytkownikowi umowę rozliczeniową, która opisuje zasady płatności. Użytkownik musi zgodzić się z tymi warunkami, zanim rozpocznie się proces naliczania opłat. Przetwarzanie płatności może być zarządzane przez system rozliczeń w grze, który następnie komunikuje się ze Steam.

Rezultaty płatności można uzyskać poprzez API mikropłatności, wysyłając zapytanie o informacje dotyczące poszczególnych użytkowników lub dokonując analizy raportu rozliczeniowego, w którym wyszczególnione są płatności wszystkich użytkowników.

Tworzenie umowy rozliczeniowej

Użyj API webowego ISteamMicroTxn/InitTxn w celu określenia odnawialnej umowy rozliczeniowej. Jest ona tworzona w taki sam sposób jak inne umowy dotyczące sprzedaży przedmiotów w grze na Steam, ale wymaga więcej informacji. Może być ona ustanowiona na tylko jedną transakcję (wydarzenie sprzedaży) lub też zestaw przedmiotów w koszyku, które użytkownik zdecydował się nabyć. Jeśli transakcja zostanie zaakceptowana przez Steam, użytkownik otrzyma powiadomienie o konieczności autoryzacji, a API prześle w odpowiedzi unikalny 64-bitowy identyfikator umowy rozliczeniowej. Jeśli zostanie zwrócony błąd, trzeba naprawić problem, a następnie przesłać nowe żądanie. Po zatwierdzeniu należy użyć API webowego ISteamMicroTxn/FinalizeTxn do sfinalizowania umowy.

System rozliczeniowy gry inicjuje płatność odnawialną – pozwala to na większą elastyczność w kwestii kwoty płatności i czasu przetwarzania. W tym przypadku serwer rozliczeniowy gry użyje API ISteamMicroTxn/ProcessAgreement w celu zainicjowania transakcji i określenia jej kwoty. Używaj tego rozwiązania, gdy kwota płatności może się zmieniać w czasie lub by dać użytkownikowi więcej czasu na dokończenie transakcji.

Użytkownik może zawrzeć tylko jedną aktywną umowę rozliczeniową na grę. W dowolnym momencie możesz utworzyć dla użytkownika nową umowę rozliczeniową, ale tym samym wszystkie wcześniejsze umowy rozliczeniowe zostaną usunięte po zakończeniu wywołania ISteamMicroTxn/FinalizeTxn. Każda umowa rozliczeniowa otrzyma unikalny 64-bitowy identyfikator, którego możesz użyć do jej identyfikacji, ale przetwarzanie płatności odbędzie się tylko w przypadku ostatniej umowy rozliczeniowej.

Użytkownicy mogą zerwać umowę w każdej chwili w ustawieniach konta Steam. Powiadomienie o zerwaniu umowy nastąpi poprzez API webowe ISteamMicroTxn/GetReport.

Dodatkowe API webowe dla płatności odnawialnych:

Otrzymywanie statusu

Status płatności w przypadku umów rozliczeniowych można uzyskać za pomocą tych dwóch API webowych:
  • ISteamMicroTxn/GetUserAgreementInfo – można go użyć do uzyskania szczegółowych informacji na temat wszystkich umów rozliczeniowych danego użytkownika mających zastosowanie dla twojej gry, wliczając w to ostatnią płatność i czas kolejnej płatności.
  • ISteamMicroTxn/GetReport — to API pokazuje wszystkie transakcje związane z grą, w tym transakcje wynikające z umów rozliczeniowych. Z racji tego, że użytkownicy mogą za pomocą swoich kont Steam anulować subskrypcje oraz odnawiać je, gra może otrzymać powiadomienia o tych działaniach przez to API.