Steamworks-dokumentation
Webfunktioner til Steam-inventar
Dette er skrukturerede websider, som du kan omdirigere brugeren til.

Indkøbskurv til genstande

ItemCart kan bruges til at sende en indkøbskurv med en eller flere genstande til kassen via Steam. Du skal bygge og vedligeholde indkøbskurven indenfor dit eget spil eller din grænseflade og derefter sende indholdet fra indkøbskurven til Steam, så genstandene kan købes og aktiveres.

Din butik bør dirigere klientbrowseren til at POSTE direkte til https://store.steampowered.com/itemcart/checkout ved at bruge en webformular. Derefter vil brugeren opleve lidt forskellige købsprocesser afhængigt af browseren:

Selvstændig webbrowser (Chrome, Internet Explorer osv.):

  • Hvis tegnebogsvalutaen ikke matcher, omdirigeres der omgående til return-URL'en med en resultatkode, som indikerer uoverensstemmelsen (dette giver mulighed for at ændre den lokale valuta i butikken for at genoptage betalingen ved kassen).
  • Indkøbskurv med individuelle linjer med genstandspriser i brugerens valuta, samlet pris i brugerens valuta og "Køb"-/"Annuller"-knapper.
  • Hvis "Annuller" vælges, vil transaktionen blive annulleret med statussen "Afvist af bruger".
  • Hvis "Køb" vælges, afsluttes transaktionen automatisk.
  • Brugeren vil blive omdirigeret til den relevante return-URL.

Steam-overlay/Big Picture-webbrowser:

  • Samme som standardwebbrowser uden nogen indledende trin for at logge på. Brugeren kan ikke skifte konto.

Webbrowser i spil med Steamworks-API-godkendelsescookie:

  • Hvis tegnebogsvalutaen ikke matcher, omdirigeres der omgående til en return-URL med en resultatkode, som indikerer uoverensstemmelsen.
  • Websiden viser en besked om at bruge Steam-overlayet til at godkende købet
  • Steam-overlay vil aktivere automatisk med en køb-/annuller-dialogboks
  • Overlayet lukker, og flowet fortsætter som standardwebbrowser, efter brugeren vælger "Køb" eller "Annuller"

HTML-eksempel

<form action="https://store.steampowered.com/itemcart/checkout" method="post"> <input type="hidden" name="appid" value="234560"> <input type="hidden" name="cart" value="1001,1006*2"> <input type="hidden" name="total" value="USD499"> <input type="hidden" name="sandbox" value="0"> <input type="hidden" name="return" value="http://mystore.com/checkout.php?fromsteam=1&cartid=BA13522FE31&result=[RESULT]&orderid=[ORDERID]&steamid=[STEAMID]&name=[USERNAME]&cc=[CURRENCY]&auth=[AUTH]"> <input type="hidden" name="auth" value="9a38954f503bf38a16024a9ae9328e8fa780f5be"> <input type="hidden" name="lang" value="en"> <input type="image" src="checkout.png" alt="Checkout"> </form>

  • appid – er din apps ID-nummer.
  • cart – er genstandsdefinitionens indeksnumre adskilt af kommaer med valgfri endelse med xN- eller *N-antal. Rækkefølgen er uden betydning. Dubletter behandles som yderligere antal.
  • total – er den forventede samlede omkostning for indkøbskurven. Betaling vil mislykkes, hvis dette ikke stemmer overens. Formatet skrives med store bogstaver med valutatype (USD, EUR, GBP, DKK osv.) efterfulgt af en samlet numerisk værdi.
  • sandbox – er 1 eller 0. Bemærk, at sandbox=1 mislykkes, når test af sandbox ikke er aktiveret specifikt for din app i Steamworks.
  • return – er en URL, som brugeren bliver dirigeret til, når købet er gennemført og klar til at blive færdiggjort. Valgfrie erstatningsfelter er beskrevet nedenfor.
  • auth – er HMAC-SHA1-godkendelseskoden beregnet fra de fem foregående værdier i rækkefølge, adskilt af nye linjer ved at bruge din hemmelige Itemcart-nøgle. Se et udsnit af PHP i slutningen af dokumentet. Din hemmelige nøgle er synlig fra fanen "Økonomi" på Steamworks-konfigurationssiden for din app.
  • lang – er en valgfri ICU-sprogkode ("en" for engelsk), som angiver standardsproget på betalingssiden. Dette valgfrie felt er ikke autentificeret.

De følgende strenge vil blive substitueret i return-URL'en:
  • [RESULT] – resultatkode (0 = succes, 1 = bruger afvist, 2 = valutauoverensstemmelse, 3 eller derover er en intern fejlkode).
  • [ORDERID] – 64-bit usigneret decimaltal, der repræsenterer Steams "ordre-ID", kan bruges sammen med ISteamMicroTxn/QueryTxn-api for at bekræfte transaktionsoplysningerne – blank, hvis brugeren annullerede. Rapport med match genereres af ISteamMicroTxn/GetReport
  • [STEAMID] – 64-bit usigneret decimaltal, der repræsenterer brugerens Steam-ID. Blank, hvis brugeren afviste at logge ind.
  • [USERNAME] – brugerens valgte navn, kodet på passende vis for en URL-parameter. Blank, hvis brugeren afviste at logge ind. FORSIGTIG: Rens for visning – pas på brugere, som er navngivet < script>!
  • [CURRENCY] – valutakoden for brugeres tegnebog (USD, EUR, osv.) – blank, hvis brugeren afviste at logge ind.
  • [AUTH] – HMAC-SHA1 af hele den serverrelaterede URL (for eksempel statende med "/checkout.php") beregnet, som om [AUTH] var en tom streng, og alt andet allerede var erstattet. HMAC-nøglen er din hemmelige Itemcart-nøgle.

Udsnit af PHP til at generere "auth"-værdi:
define( 'SECRET_ITEMCART_KEY', '11111111111111111111111111111111' ); $appid = '234560'; $cartstring = '1001,1006*2'; $totalstring = 'USD499'; $sandbox = '0'; // or '1' $returnurl = 'http://mystore.com/checkout.php?fromsteam=1&cartid=BA13522FE31&result=[RESULT]&orderid=[ORDERID]&steamid=[STEAMID]&name=[USERNAME]&cc=[CURRENCY]&auth=[AUTH]'; $auth = hash_hmac( "sha1", "$appid\n$cartstring\n$totalstring\n$sandbox\n$returnurl", SECRET_ITEMCART_KEY );

Udsnit af PHP til at validere return-URL'en:
hash_hmac( "sha1", str_replace( $_GET['AUTH'], "", $_SERVER["REQUEST_URI"] ), SECRET_ITEMCART_KEY ) === $_GET['AUTH']

Hvis godkendelseskoden i HTML-formulareksemplet beregnes, som om den hemmelige Itemcart-nøgle kun er 1-taller (32 tegn). I betragtning af de andre feltværdier (appid, cart, total, sandbox, return, lang) bør du være i stand til at replikere "auth"-værdien. Hvis din genererede "auth"-værdi ikke matcher, har din kode sandsynligvis fejl, som forhindrer betaling ved kassen i at fungere.

BuyItem

BuyItem er en simpel struktureret hjemmeside, som tillader en bruger at købe en genstand i spil ved at bruge en simpel Steam-købsgrænseflade.

URI-konstruktion

Konstruer en URI til din genstand på følgende måde, og diriger spilleren til den: https://store.steampowered.com/buyitem/{appid}/{itemdefid}/{quantity}

Parametre

  • appid: ID'et til applikationen, som er tilknyttet genstanden.
  • itemdefid: ItemDef-ID'et til at præsentere ved køb. Denne genstand skal have en pris (eller price_category) og må ikke være store_hidden. Se Item-skemaet.
  • quantity: Valgfri. Flere forekomster af en genstand kan købes. Hvis den ikke er angivet, antages det som standard, at der er tale om 1.

Noter

Denne forenklede side kan kun bruges til at sælge forekomster af en enkelt ItemDef (herunder et salgbart bundt). Se ItemCart for at se en indkøbskurv med alle funktioner.

Se dokumentationen om inventarskema for oplysninger om angivelse af genstande til salg, inklusive prisfastsættelse og bundter.