Steamworks-dokumentation
Återkommande fakturering i spel

Översikt

Obs! Detta dokument är avsett för användning som komplement till huvuddokumentet om köp i spel. API:er som beskrivs här är tillägg till det API:et. Om du letar efter återkommande abonnemang som initieras i Steams butik, se dokumentationen Löpande abonnemang för mer information.

När du skapar återkommande betalningar för en Steam-användare upprättar du först ett faktureringsavtal med användaren som beskriver betalningsvillkoren. Användaren måste godkänna villkoren innan faktureringsprocessen kan börja. Betalningsbehandling kan hanteras av spelets egna faktureringssystem som kommunicerar med Steams backend för behandling av den faktiska betalningen.

Betalningsresultat kan hämtas via mikrotransaktions-API:et genom att antingen efterfråga status för enskilda användare eller genom att analysera faktureringsrapporten som visar alla betalningar från alla användare.

Upprätta ett faktureringsavtal

Använd webb-API:et ISteamMicroTxn/InitTxn för att definiera det återkommande faktureringsavtalet. Avtalet skapas på samma sätt som annan försäljning av föremål i spel på Steam men kräver ytterligare data för att definieras helt. Upprättande av avtalet kan göras som en enskild försäljning eller i en kundvagn med andra föremål i spel som en användare har valt att köpa. Om transaktionen accepteras av Steam kommer användaren att ombes att godkänna avtalet och API:et returnerar ett unikt 64-bitars faktureringsavtals-id i svaret. Om ett fel returneras måste problemet åtgärdas och en ny förfrågan måste skickas in. När detta har godkänts bör du använda webb-API:et ISteamMicroTxn/FinalizeTxn för att slutföra avtalet.

Spelets faktureringssystem initierar den återkommande betalningen. Detta möjliggör större flexibilitet med betalningsbelopp och behandlingstid. För detta kommer spelets faktureringsserver att använda API:et ISteamMicroTxn/ProcessAgreement för att initiera en betalning och även ange beloppet. Använd det vid tillfällen när du vill justera betalningsbeloppet över tid eller utfärda kredit.

En användare får bara ha ett aktivt faktureringsavtal per spel. Du kan skapa ett nytt faktureringsavtal för en användare när som helst, men alla tidigare faktureringsavtal inaktiveras när ett anrop av ISteamMicroTxn/FinalizeTxn slutförs. Varje faktureringsavtal får ett unikt 64-bitars id som du kan använda för att referera till det, men endast det senaste avtalet får behandla betalningen.

Användare kan välja att säga upp ett avtal när som helst från sina Steam-kontoinställningar. Aviseringar om uppsagda avtal görs via webb-API:et ISteamMicroTxn/GetReport.

Ytterligare webb-API:er för återkommande betalningar är:

Mottagning av status

Betalningsstatus för faktureringsavtal kan hämtas av dessa två webb-API:er:
  • ISteamMicroTxn/GetUserAgreementInfo – Detta kan användas för att hämta detaljerad information om alla avtal för en användare som är tillämpliga för ditt spel, inklusive senaste betalning och tidpunkt för nästa betalning.
  • ISteamMicroTxn/GetReport – Detta API visar alla transaktioner associerade med ditt spel, inklusive de som kommer från faktureringsavtal. Eftersom användare kan avbryta och förnya abonnemang från sitt Steam-konto kan spelet även få aviseringar om dessa åtgärder via detta API.