Steamworks-dokumentasjon
Steam Inventory Web Functions
These are structured web pages that you can redirect the user to.

Item Cart

ItemCart can be used to send a cart containing one or more items to be purchased via Steam. You'll need to build and maintain the cart within your own game or UI, then send the contents of that cart to Steam for purchase and activation of those items.

Your store should direct the client browser to POST directly to https://store.steampowered.com/itemcart/checkout using a web form. From there, depending on the browser, the user will experience slightly different purchase flows:

Stand-alone web browser (Chrome, Internet Explorer, etc):

  • If wallet currency does not match, immediate redirect to return url with result code indicating mismatch (this provides an opportunity to modify the local currency of the store and resume checkout).
  • Shopping cart with individual line item costs in user currency, total cost in user currency, and "Purchase" / "Cancel" buttons.
  • If Cancel is selected, transaction will be cancelled with 'user declined' status.
  • If Purchase is selected, transaction will be automatically finalized.
  • User will be redirected to the appropriate return URL.

Steam Overlay / Big Picture web browser:

  • Samme som standard nettleser uten det innledende innloggingssteget – brukeren kan ikke bytte konto.

Nettleser i spill med autentiserings-cookie for Steamworks-API-et:

  • Hvis valuta i lommeboken ikke samsvarer – umiddelbar omdirigering til en nettadresse med en resultattkode som gir indikasjon på manglende samsvar.
  • Nettsiden viser en merknad om å bruke Steam-overlegget for å godkjenne kjøpet.
  • Steam-overlegget aktiveres automatisk med en boks for å kjøpe eller avbryte.
  • Overlegget lukkes, og flyten fortsetter som med en vanlig nettleser etter at brukeren har valgt å kjøpe eller avbryte.

Eksempel på HTML

<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 – app-ID-en din
  • cart – en gjenstandsdefinisjon som består av tall som er atskilte av kommaer, med et valgfritt suffiks xN eller *N for antall. Rekkefølgen har ingen betydning. Duplikat regnes som ekstra antall.
  • total – forventet samlet kostnad. Kjøp mislykkes hvis dette ikke samsvarer. Formatet er valutatype med store bokstaver (USD, EUR, GBP osv.) etterfulgt av et tall.
  • sandbox – 1 eller 0. Merk at sandbox=1 mislykkes når sandbox-testing ikke er spesifikt slått på for applikasjonen i Steamworks.
  • return – en nettadresse som brukeren sendes til når de er ferdige i kassen og transaksjonen er klar til å ferdigstilles. Valgfrie erstatningsfelt beskrives nedenfor.
  • auth - is the HMAC-SHA1 authentication code computed from the five preceding values in order, separated by newlines, using your Itemcart Secret Key. Se eksempel på PHP på slutten av dokumentet. Den hemmelige nøkkelen din er tilgjengelig i økonomifanen til applikasjonens konfigurasjonsside i Steamworks.
  • lang – en valgfri ICU-språkkode («en» for engelsk) som angir standard språk i kassen. Dette valgfrie feltet autentiseres ikke.

Følgende strenger erstattes i nettadressen som returneres:
  • [RESULT] – resultatkode ( 0 = vellykket, 1 = avslått av bruker, 2 = valuta samsvarer ikke, 3 eller høyere er en intern feilkode).
  • [ORDERID] - 64-biters usignert desimaltall som representerer «orderid» på Steam. Kan brukes med API-et ISteamMicroTxn/QueryTxn for å bekrefte informasjon i transaksjonen – tomt hvis brukeren avbryter. Tilsvarer rapporten som genereres av ISteamMicroTxn/GetReport.
  • [STEAMID] – 64-biters usignert desimaltall som representerer en brukers Steam-ID. Tomt hvis brukeren ikke logget inn.
  • [USERNAME] – brukerens valgte brukernavn – kodet for å passe som parameter i en nettadresse. Tomt hvis brukeren ikke logget inn. ADVARSEL: fjern for visning – se opp for brukere med navn < script>!
  • [CURRENCY] – valutakoden til brukerens lommebok (USD, EUR osv.) – tomt hvis brukeren ikke logget inn.
  • [AUTH] – HMAC-SHA1 for hele den nettadressen som er relativ til tjener (f.eks. begynner med «/checkout.php»), behandlet som om [AUTH] er en tom streng og med alt annet allerede erstattet. HMAC-nøkkelen er den hemmelige nøkkelen i ItemCart-en din.

Eksempel på PHP for å generere en verdi for «auth»:
define( 'SECRET_ITEMCART_KEY', '11111111111111111111111111111111' ); $appid = '234560'; $cartstring = '1001,1006*2'; $totalstring = 'USD499'; $sandbox = '0'; // eller '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 );

Eksempel på PHP for å validere en returnert nettadresse:
hash_hmac( "sha1", str_replace( $_GET['AUTH'], "", $_SERVER["REQUEST_URI"] ), SECRET_ITEMCART_KEY ) === $_GET['AUTH']

The authentication code in the sample HTML form is computed as if the Itemcart secret key is all ones (32 characters long). Given the other field values (appid, cart, total, sandbox, return, lang) you should be able to replicate the 'auth' value; if your generated 'auth' value does not match, your code likely has errors which will prevent checkout from working.

BuyItem

BuyItem er en enkel strukturert nettside som lar brukere kjøpe en gjenstand i et spill med et enkelt kjøpsgrensesnitt i Steam.

URI construction

Lag en URI til gjenstanden din på følgende måte, og vis den frem: https://store.steampowered.com/buyitem/{appid}/{itemdefid}/{quantity}

Parametre

  • appid: ID-en til applikasjonen som er knyttet til gjenstanden.
  • itemdefid: ItemDef-ID som brukes for kjøpet. Denne gjenstanden må ha en pris (eller price_category), og kan ikke være store_hidden. Se gjenstandsskjemaet.
  • quantity: Valgfritt. Flere forekomster av en gjenstand kan kjøpes. Hvis dette er av så brukes 1 som standard.

Merknader

Denne forenklede siden kan kun brukes for å selge forekomster av en enkelt ItemDef (inkludert en bunt som kan selges). For en handlekorg med full funksjonalitet, bruk ItemCart.

See the Inventory Schema documentation for details on specifying items for sale, including pricing and bundles.