Documentação do Steamworks
QueryRefundAllowed/v0001
Chamado pelo Steam quando um usuário acessa o site de suporte e tenta recuperar dados sobre uma compra no jogo. A resposta inclui o estado atual dos itens envolvidos em uma compra e se cada um pode ser reembolsado.

Chamado por: Reembolsos no Steam

Método HTTP: GET

Parâmetros:

NomeTipoObrigatórioDescrição
keystringEsta é a "Chave do servidor de ativos" fornecida nas "Configurações da economia Steam" do aplicativo do site do parceiro.
appiduint32O AppID de 32 bits do aplicativo associado à compra. Este é o AppID do seu jogo.
steamiduint64O ID Steam de 64 bits do usuário que realizou a compra.
languagestringCódigo de idioma ISO639-1 seguido de código de país ISO 3166-1 alfa 2 do idioma no qual retornar as strings.
Exemplos: en_US, de_DE, pt_BR, zh_CN e ko_KR. Padrão: en_US
orderiduint64O ID de 64 bits que identifica o pedido, igual ao ID informado ao Steam na chamada ao método ISteamMicroTxn/InitTxn.

Retorna

A saída deste método deve ser codificada no formato JSON.

Resposta:
  • result
    • success — True se bem-sucedida. Se o servidor de ativos está retornando false, o parâmetro error deve conter uma string com o motivo.
    • error — Uma string que descreve o motivo da falha da chamada. A mensagem será armazenada no relatório de erro, disponível na aba Economia do painel de administração de aplicativo no site do Steamworks.
    • assets — Um vetor contendo os itens comprados.
      • itemtypeid — ID do item no jogo, que é o valor do parâmetro itemid informado ao Steam na chamada ao método ISteamMicroTxn/InitTxn.
      • allow_refund — Deve ser true a não ser que o item comprado tenha sido consumido, modificado ou transferido.
      • in_inventory— True se o usuário que o comprou ainda estiver em posse do item.
      • bundle — Se o item comprado pelo usuário for um conjunto com mais itens, use o valor true e também inclua os itens que vieram no conjunto nas próximas entradas do vetor assets.
      • current_state — Uma string legível por humanos que representa o estado atual do item. Exibida ao usuário e deve estar traduzida se possível. Quanto mais específico, melhor, especialmente se allow_refund for false. Pode ser algo similar a "Usado para fabricar outro item em 25 de março de 2015" ou "No inventário".
      • item_name — O nome do item. Exibido ao usuário e deve estar traduzido se possível.
      • amount — A quantidade comprada do item. Todos os itens devem ter o mesmo id (não aplicável se o jogo não usar as APIs de economia). Se mais de um item estiver sido comprado, mas possuírem valores id diferentes, inclua várias entradas no vetor assets em vez de usar este campo.

        AVISO: os campos a seguir só se aplicam se o jogo usar as APIs de economia:
      • id — O ID de ativo ou moeda do item concedido ao usuário.
      • contextid — O ID do contexto no qual o item foi armazenado.
      • currency — True se id for referência a um ID de moeda.
      • class — Um vetor de identificadores de classe de ativos definidos pelo jogo. Deve ser a mesma classe retornada pelo método GetAssetClass/v0001.

Exemplo de saída

{ "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": "No inventário", "item_name": "O Flogistinador" }, { "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": "No inventário", "item_name": "A Ligação Direta" } ] , "success": true } }