Steamworks-dokumentaatio
Steam-tavaraluettelon verkkotoiminnot
Nämä ovat jäsennettyjä verkkosivuja, joihin voit uudelleenohjata käyttäjän.

Esineiden ostoskori

Voit käyttää ItemCart-toimintoa lähettämään ostoskorissa olevan esineen/esineet ostettavaksi Steamissä. Sinun tulee rakentaa kori ja ylläpitää sitä omassa pelissäsi tai käyttöliittymässäsi, ja lähettää korin sisältö Steamiin esineiden ostoa ja aktivointia varten.

Kauppasi tulisi ohjata selain POST-komennolla ja verkkolomaketta käyttäen suoraan sivulle: https://store.steampowered.com/itemcart/checkout. Käyttäjän ostoprosessi vaihtelee hieman selaimen mukaan.

Erillinen selain (Chrome, Internet Explorer, jne.):

  • Jos lompakon valuutta ei täsmää, käyttäjä ohjataan palautus-URL-osoitteeseen ja tuloskoodi ilmaisee ristiriidan (tässä vaiheessa kaupan paikallinen valuutta voidaan muuntaa ja kassatapahtumaa jatkaa).
  • Ostoskorissa kunkin esineen hinta ja yhteishinta näkyvät käyttäjän valuutassa. "Osta"-/"Peruuta"-painikkeet näkyvät myös täällä.
  • Jos valitaan Peruuta, ostotapahtuma perutaan ja Käyttäjä hylkäsi -tila nousee näkyviin.
  • Jos Osta-vaihtoehto on valittuna, tapahtuma viimeistellään automaattisesti.
  • Käyttäjä ohjataan soveltuvaan palautus-URL-osoitteeseen.

Steam-yhteisönäkymän / televisiotilan verkkoselain:

  • Sama kuin standardi verkkoselain ilman kirjautumisvaihetta. Käyttäjä ei voi vaihtaa tiliä.

Pelinsisäinen selain, jossa on Steamworks-ohjelmointirajapinnan todennuseväste:

  • Jos lompakon valuutta ei täsmää, käyttäjä ohjataan paluuosoitteeseen ja tuloskoodina on ristiriita.
  • Verkkosivulla näytetään kehotus vahvistaa osto Steam-yhteisönäkymässä.
  • Steam-yhteisönäkymä aktivoituu automaattisesti ja näkyviin tulee Osta/Peruuta -valintaikkuna.
  • Yhteisönäkymä sulkeutuu ja prosessi jatkuu tavallisena selaimena, kun käyttäjä valitsee oston tai peruutuksen.

Esimerkki HTML-koodista

<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 – sovellustunnus (AppID).
  • cart – esinemäärityksen indeksiluvut pilkulla erotettuna. Valinnaisella xN- tai *N -loppuliitteellä voi ilmaista määrää. Järjestyksellä ei ole merkitystä. Kaksoiskappaleet tulkitaan lisäyksinä määrään.
  • total – ostoskorin oletettu yhteissumma. Jos loppusumma ei täsmää, ostotapahtuma epäonnistuu. Muotona on valuutan tyyppi isoin kirjaimin (USD, EUR, GBP, jne.) ja yhteissumma lukuna.
  • sandbox – 1 tai 0. Huomaa, että sandbox=1 epäonnistuu aina, kun hiekkalaatikkotestausta ei ole otettu käyttöön sovellukselle Steamworksissa.
  • return – URL-osoite, johon käyttäjä ohjataan, kun kassatapahtuman voi viimeistellä. Valinnaiset korvauskentät on kuvattu alla.
  • auth - HMAC-SHA1-varmennekoodi, joka on laskettu viidestä edeltävästä arvosta järjestyksessä. Ne on erotettu rivinvaihdoin käyttämällä Itemcart Secret Key -salausavainta. Katso PHP-esimerkki dokumentin lopussa. Secret Key -salausavaimesi on nähtävissä sovelluksesi Steamworks-määrityssivun Talous-välilehdeltä.
  • lang – valinnainen ICU-kielikoodi (en = English), jolla määritetään kassasivun oletuskieli. Tätä valinnaista kenttää ei ole varmennettu.

Seuraavat merkkijonot korvataan palautus-URL-osoitteessa:
  • [RESULT] – tuloskoodi (0 = onnistui, 1 = käyttäjä hylkäsi, 2 = valuutta ei täsmää, 3 tai korkeampi = sisäinen virhekoodi).
  • [ORDERID] – 64-bittinen, etumerkitön kokonaisluku, joka edustaa Steamin "orderid"-tilaustunnusta. Sitä voi käyttää ISteamMicroTxn/QueryTxn -ohjelmointirajapinnan kanssa kauppatietojen vahvistamiseen. Tämä on tyhjä, jos käyttäjä perui. Se vastaa ISteamMicroTxn/GetReport-kutsun luomaa raporttia.
  • [STEAMID] – 64-bittinen, etumerkitön kokonaisluku, joka edustaa käyttäjän Steam ID -tunnusta. Tämä on tyhjä, jos käyttäjä ei kirjautunut sisään.
  • [USERNAME] – käyttäjän valitsema näyttönimi, joka on koodattu URL-parametriä varten. Tämä on tyhjä, jos käyttäjä ei kirjautunut sisään. VAROITUS! Kiinnitä huomiota sopivuuteen – varo<script>-nimisiä käyttäjiä!
  • [CURRENCY] – käyttäjän lompakon valuuttakoodi (USD, EUR, jne.). Tyhjä, jos käyttäjä ei ole kirjautunut sisään.
  • [AUTH] – palvelimeen liittyvän URL-osoitteen HMAC-SHA1 (alkaa esim. /checkout.php), lasketaan oletuksena, että [AUTH] on tyhjä merkkijono ja kaikki muu on jo korvattu. HMAC-tunnus on Itemcart Secret Key -salausavaimesi.

Esimerkki PHP-koodista, joka luo varmennearvon:
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 );

Esimerkki PHP-koodista, joka vahvistaa palautus-URL-osoitteen:
hash_hmac( "sha1", str_replace( $_GET['AUTH'], "", $_SERVER[;crwdn;ht;4;ht;crwdn;REQUEST_URI;crwdn;ht;5;ht;crwdn;] ), SECRET_ITEMCART_KEY ) === $_GET['AUTH']

Varmennekoodi HTML-esimerkkimallissa on laskettu siten, että Itemcart-salausavaimen kaikki merkit olisivat ykkösiä (32 merkkiä pitkä). Sinun pitäisi pystyä replikoimaan varmennearvo muiden kenttäarvojen (appid, cart, total, sandbox, return, lang) perusteella. Jos generoimasi varmennearvo ei täsmää, koodissa on todennäköisesti virheitä, jotka estävät kassatapahtuman.

BuyItem

BuyItem on yksinkertaisesti jäsennetty verkkosivu, jonka avulla käyttäjä voi ostaa pelinsisäisiä esineitä käyttämällä yksinkertaista Steam-ostokäyttöliittymää.

URI-tunnuksen rakentaminen

Tee URI-tunnus esineillesi seuraavasti ja ohjaa pelaaja sinne: https://store.steampowered.com/buyitem/{appid}/{itemdefid}/{quantity}

Parametrit

  • appid: esineeseen liittyvän sovelluksen tunnus.
  • itemdefid: ItemDef-tunnus, joka näytetään ostaessa. Esineellä on oltava hinta (tai price_category), eikä se saa olla store_hidden. Katso kohtaa Esinemalli.
  • quantity: valinnainen. Esineestä voidaan ostaa useita kopioita. Jos tämä on tyhjä, oletusarvona on 1.

Huomioita

Tätä yksinkertaista sivua voi käyttää vain yksittäisten ItemDef-tapausten (myös myyntipakettien) myyntiin. Lisätietoja ostoskorin täydellisistä ominaisuuksista on ItemCart-kohdassa.

Katso tavaraluettelomallin dokumentaatiosta lisätietoa myytävien esineiden määrittämisestä, hinnoittelusta ja myyntipaketeista.