Вызывается Steam, когда пользователь заходит на сайт поддержки, чтобы получить больше информации о внутриигровой покупке. Ответ включает в себя текущее состояние купленных предметов, а также информацию о доступности возврата средств за каждый из них.
Вызывается: Steam Refunds
Метод HTTP: GET
Параметры:
Название | Тип | Обязательно? | Описание |
key | string | ✔ | Это ключ сервера ресурсов, который вы предоставили в настройках экономики Steam своего приложения на партнёрском сайте. |
appid | uint32 | ✔ | 32-битный номер приложения, к которому относится покупка. Это будет AppID вашей игры. |
steamid | uint64 | ✔ | 64-битный SteamID пользователя, который совершил покупку. |
language | string | ✔ | Языковой код ISO639-1 и код страны ISO 3166-1 alpha-2 для языка, на котором необходимо возвращать строки. К примеру: en_US, de_DE, zh_CN, ko_KR. По умолчанию: en_US |
orderid | uint64 | ✔ | Уникальный 64-битный номер заказа. Этот тот же самый номер orderid, который был отправлен нам в ISteamMicroTxn/InitTxn. |
Возвращаемые значения
Результат этого метода кодируется в .json.
Ответ: -
result
-
success
— true, если метод успешен. Если сервер ресурсов возвращает false, будет также возвращено поле error
с объяснением.
-
error
— объяснение сбоя. Это сообщение будет записано в журнал ошибок, который увидеть во вкладке «Экономика» раздела «Сообщество» настроек приложения.
-
assets
— массив приобретённых предметов.
-
itemtypeid
— номер предмета из игры. Этот тот же самое значение itemid
, которое было отправлено нам в ISteamMicroTxn/InitTxn.
-
allow_refund
— должно быть true, за исключением случаев, когда купленный предмет был потреблён, изменён или передан.
-
in_inventory
— должно быть true, если купивший пользователь всё ещё владеет предметом.
-
bundle
— если тип приобретенного предмета — bundle, содержащий другие предметы, тогда это поле должно быть true, а в массив assets
в ответе необходимо включить предметы, которые входили в bundle.
-
current_state
— человекочитаемая строка с текущим состоянием предмета. Этот текст будет показан пользователю и по возможности должен быть локализован. Чем больше здесь будет приведено подробностей, тем лучше, особенно если allow_refund
= false. Это может быть что-то вроде «Предмет использован для создания другого предмета 25 марта 2015 года» или «Находится в вашем инвентаре».
-
item_name
— название предмета. Этот текст будет показан пользователю и по возможности должен быть локализован.
-
amount
— число приобретённых предметов. У всех предметов должен быть один и тот же id
(неприменимо, если в вашей игре не реализован API экономики Steam). Если были куплены несколько предметов, но у них разные значения поля id
, вместо использования поля amount включите эти предметы в массив assets
.
Обратите внимание: следующие поля применимы, только если в вашей игре поддерживается API экономики Steam.
-
id
— assetid или currencyid предмета, выданного пользователю.
-
contextid
— contextid, в который был помещён предмет.
-
currency
— true, если id
является currencyid.
-
class
— массив идентификаторов классов ресурсов, заданных в игре. Это должен быть тот же самый класс, который вернул бы GetAssetClass/v0001.
Пример вывода
{
"result": {
"assets": [
{
"itemtypeid": 594,
"contextid": 2,
"currency": false,
"amount": 1,
"id": 3837860447,
"class": [
{
"name": "def_index",
"value": "594"
},
{
"name": "flags",
"value": "16"
},
{
"name": "origin",
"value": "2",
"instance": true
},
{
"name": "@tradable after date",
"value": "1434493482",
"instance": true
}
]
,
"allow_refund": true,
"in_inventory": true,
"bundle": false,
"current_state": "In your inventory",
"item_name": "The Phlogistinator"
},
{
"itemtypeid": 214,
"contextid": 2,
"currency": false,
"amount": 1,
"id": 3837860448,
"class": [
{
"name": "def_index",
"value": "214"
},
{
"name": "flags",
"value": "16"
},
{
"name": "origin",
"value": "2",
"instance": true
},
{
"name": "@tradable after date",
"value": "1434493482",
"instance": true
}
]
,
"allow_refund": true,
"in_inventory": true,
"bundle": false,
"current_state": "In your inventory",
"item_name": "The Powerjack"
}
]
,
"success": true
}
}