Steamworks-dokumentation
Løbende fakturering i spil

Oversigt

Bemærk: Dette dokument er beregnet som et supplement til hoveddokumentet om køb i spil. API'erne beskrevet her er udvidelser til den API. Hvis du er interesseret i løbende abonnementer, som er initieret i Steam-butikken, er der flere oplysninger i dokumentationen Løbende abonnementer.

Når du opretter løbende betalinger for en Steam-bruger, skal du først oprette en faktureringsaftale med brugeren, som beskriver betalingsbetingelserne. Brugeren skal acceptere vilkårene, før faktureringsprocessen kan begynde. Betalingsbehandling initieres af spillets eget faktureringssystem, som kommunikerer med Steams backend for at behandle den egentlige betaling.

Betalingsresultater kan hentes gennem mikrotransaktions-API'en enten ved at forespørge status på individuelle brugere eller ved at analysere afviklingsrapporten, hvilket vil vise alle betalinger for alle brugere.

Oprettelse af en faktureringsaftale

Brug web-API'en ISteamMicroTxn/InitTxn til at definere den løbende faktureringsaftale. Aftalen oprettes på samme måde som andre genstandssalg i spil på Steam, men kræver yderligere data for fuldstændigt at definere den. Oprettelse af aftalen kan gøres som en enkeltstående salgsbegivenhed eller i en indkøbskurv med andre genstande i spillet, som en bruger har valgt at købe. Hvis transaktionen accepteres af Steam, vil brugeren blive anmodet om at godkende aftalen, og API'en vil returnere et unikt 64-bit faktureringsaftale-ID i svaret. Hvis der returneres en fejl, skal problemet rettes, og en ny anmodning skal indsendes. Når aftalen er godkendt, skal du bruge web-API'en ISteamMicroTxn/FinalizeTxn for at fuldføre aftalen.

Spillets faktureringssystem indleder den løbende betaling. Dette giver mere fleksibilitet i betalingsbeløbet og behandlingstiden. Til dette bruger spillets faktureringsserver ISteamMicroTxn/ProcessAgreement-API'en til at indlede en betaling og også specificere beløbet. Brug dette i tilfælde, hvor du muligvis ønsker at justere betalingsbeløbet over tid eller give kredit.

En bruger kan kun have én aktiv faktureringsaftale per spil. Du kan når som helst oprette en ny faktureringsaftale for en bruger, men alle tidligere faktureringsaftaler vil blive deaktiveret, når der gennemføres et ISteamMicroTxn/FinalizeTxn-kald. Hver faktureringsaftale vil få et unikt 64-bit ID, som du kan bruge til reference, men kun den seneste aftale vil kunne behandle betalinger.

Brugere kan vælge at annullere en aftale når som helst fra indstillingerne på deres Steam-konto. Notifikationer om annulleringer foretages gennem web-API'en ISteamMicroTxn/GetReport.

Yderligere web-API'er for løbende betalinger:

Hentning af status

Betalingsstatus for faktureringsaftaler kan hentes af disse to web-API'er:
  • ISteamMicroTxn/GetUserAgreementInfo – Dette kan bruges til at hente detaljerede oplysninger om alle aftaler for en bruger, som er gældende for dit spil, inklusive sidste betaling og tidspunkt for næste betaling.
  • ISteamMicroTxn/GetReport – Denne API viser alle transaktioner, som er forbundet med dit spil, inklusive dem, der kommer fra faktureringsaftaler. Da brugere kan annullere og forny abonnementer fra deres Steam-konto, kan spillet modtage notifikationer om disse handlinger gennem denne API.