Steam 库存网页功能 (Steamworks 文献库) 您所在的位置:网站首页 steam游戏内网页浏览器错误 Steam 库存网页功能 (Steamworks 文献库)

Steam 库存网页功能 (Steamworks 文献库)

2023-12-23 20:42| 来源: 网络整理| 查看: 265

您可以将用户重新定向至这些结构化网页。购物车ItemCart 能将装有一个或多个物品的购物车发送给 Steam,以便通过 Steam 购买。 您需要在您自己的游戏或 UI 中构建并维护该购物车,然后将车中内容发送至 Steam,以便购买并激活这些物品。

您的商店应该让客户端浏览器通过 Web 窗体直接 POST 至 https://store.steampowered.com/itemcart/checkout。 用户随后体验到的购买流程将因浏览器不同而稍有差异:

独立网页浏览器(Chrome、IE 等): 如果钱包币种不匹配,则立即重新定向至返回 URL,并使用结果代码显示不匹配(提供了修改商店的本地币种并继续付款的机会)。 购物车有以用户币种显示的各项物品单价和总价,以及“购买”/“取消”按钮。 若选择“取消”选项,交易将以“用户拒绝”状态取消。 若选择“购买”选项,交易将自动完成。 用户将被重新定向至相应的返回 URL。Steam 界面/大屏幕网页浏览器: 与标准网页浏览器相同,无需初始登录步骤,用户无法更改帐户。带 Steamworks API 验证 cookie 的游戏内网页浏览器: 如果钱包币种不匹配,立即重新定向至返回 URL,并使用结果代码显示不匹配。 网页显示通知 ,要求使用 Steam 界面授权购买。 Steam 界面将自动激活,并出现“购买/取消”对话框。 界面关闭,用户选择购买或取消后,按标准网页浏览器的流程继续。HTML 示例 appid – 为您的 App ID 号。 cart – 为逗号分隔的物品定义索引号,并可选用 xN 或 *N 数量后缀。 先后顺序无关紧要。 重复项视为额外数量。 total – 为购物车内的预估物品总价。 若此项不匹配,付款将失败。 格式为在大写货币类型(USD、EUR、GBP 等)后加上数字总额。 sandbox – 为 1 或 0。 注意,只要您的应用没有在 Steamworks 中特别启用沙盒测试,sandbox=1 将失败。 return – 这是购买完成准备结束时,用户将收到的 URL。 后文描述了可选替换字段。 auth – 为 HMAC-SHA1 验证码,使用您的 Itemcart 密钥并由序列中的前五个值计算得出,用新行分隔。 参见文末的 PHP 示例。 您可以在您应用的 Steamworks 配置页面的经济体选项卡中查看密钥。 lang – 可选的 ICU 语言码(“en”指英语),用于设置付款页面的默认语言。 此可选字段未经过验证。下列字符串将在返回 URL 中取代: [RESULT] – 结果代码(0 = 成功,1 = 用户拒绝,2 = 币种不符,3 及以上为内部故障代码)。 [ORDERID] – 64 位无符号十进制整数,代表 Steam“orderid”,可用于 ISteamMicroTxn/QueryTxn API,验证交易详情。若用户取消,则为空白。 匹配报告由 ISteamMicroTxn/GetReport 生成。 [STEAMID] – 64 位无符号十进制整数,代表用户的 Steam ID。 若用户拒绝登录,则为空白。 [USERNAME] – 用户选择的显示名称,为 URL 参数进行适当编码。 若用户拒绝登录,则为空白。 警告:显示前先清理,请当心名为 < script> 的用户! [CURRENCY] – 用户钱包的货币代码(USD、EUR 等)。若用户拒绝登录,则为空白。 [AUTH] – 整个服务器相关 URL 的 HMAC-SHA1(如,由“/checkout.php”开始)按 [AUTH] 为空白字符串,且其他一切均已替代的情况计算。 HMAC 密钥是您的 Itemcart 密钥。生成“auth”值的 PHP 示例: 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 ); 验证返回 URL 的 PHP 示例: 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'] 示例 HTML 表单中的验证码按 Itemcart 密钥均为“1”进行计算(32 个字符长)。 根据其他字段的值 (appid、cart、total、sandbox、return、lang),您应该能够复制 “auth”值;如果您生成的“auth”值不匹配,您的代码可能有误 ,将无法付款。BuyItemBuyItem 为简单的结构化网页,允许用户使用简明的 Steam 购买 UI,购买游戏内物品。URI 构造按以下格式为您的物品创立一个 URL,并引导玩家前往该链接:https://store.steampowered.com/buyitem/{appid}/{itemdefid}/{quantity}参数 appid:与物品相关联的应用程序的 ID。 itemdefid:用于购买的 ItemDef ID。 此物品必须有价格(或 price_category),且必须不能为 store_hidden。 参见物品 Schema。 quantity:可选。 可以购买一个物品的多个实例。若不填,默认为 1 。注意此简化页面仅能用于销售单个 ItemDef(包括可售捆绑包)的实例。 若需了解功能完备的购物车,请参见 ItemCart。

参见库存 Schema 文档,了解指定物品销售细节的具体内容,包括定价与捆绑包。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有