Conceda compras ao usuário

Implemente a concessão de compras ao usuário em seu aplicativo usando informações recebidas em webhooks da Xsolla sobre os dados de transação e itens comprados.

Observação

No lado da Xsolla, há duas opções para receber webhooks no caso de compra de itens e reembolsos: informações com dados de pagamento e transações e informações sobre itens comprados podem vir separadamente, ou serem combinadas em um webhook. Por padrão, todos os novos projetos recebem o webhook combinado.

Para trocar à nova opção de recebimento de webhooks combinados, contate seus Gerentes de Sucesso do Cliente ou envie um e-mail para csm@xsolla.com.

Mais informações sobre opções de recebimento de webhook

Recebendo informações em webhooks combinados:

Se você se cadastrou na Conta de Distribuidor após 22 de janeiro de 2025, você recebe todas as informações nos webhooks Pagamento bem-sucedido do pedido (order_paid) e Cancelamento do pedido (order_canceled). Neste caso, você não precisa processar os webhooks Pagamento (payment) e Reembolso (refund).

Recebimento de informações em webhooks separados:

Se você se cadastrou na Conta de Distribuidor no dia 22 de janeiro de 2025 ou antes, você recebe os seguintes webhooks:

Você precisa processar todos os webhooks recebidos.

Para a operação completa da loja no jogo e gerenciamento de pagamento, é necessário implementar o processamento dos webhooks principais:

Nome do webhookDescrição
User validation > User validation (user_validation)É enviado em diferentes estágios do processo de pagamento para confirmar se o usuário está registrado no jogo.
Serviços de jogo > Webhooks combinados > Pagamento bem-sucedido do pedido (order_paid)Contém dados de pagamento, dados de transação e informações sobre os itens comprados. Use os dados do webhook para adicionar itens ao usuário.
Game services > Combined webhooks > Order cancellation (order_canceled)Contém dados do pagamento cancelado, dados de transação e informações sobre os itens comprados. Use os dados do webhook para remover os itens comprados.

O esquema abaixo demonstra o processo de comprar e retornar itens usando webhooks combinados.

Observação
Reembolsos e estornos podem ser iniciados não só pelo usuário, mas também pela Xsolla ou pelo provedor de pagamentos.

Se a personalização do catálogo de itens for implementada no lado do aplicativo, configure o processamento da personalização do catálogo no lado do parceiro.

Observação
Para receber pagamentos reais, você só precisa assinar o Contrato de Licenciamento e implementar o processamento dos webhooks:

Configuração de webhooks na Conta de Distribuidor

  1. Abra seu projeto dentro da Conta de Distribuidor e acesse a seção Project settings > Webhooks.
  2. No campo Webhook server, especifique o URL do seu servidor onde deseja receber os webhooks no formato https://example.com. Você também pode especificar o URL que você encontra em uma ferramenta para testar webhooks.
  3. É gerada uma chave secreta para assinar webhooks de projeto por padrão. Se desejar gerar uma nova chave secreta, selecione o ícone de atualização.
  4. Selecione Enable webhooks.
Aviso
O protocolo HTTPS é usado para transferir dados; o protocolo HTTP não é suportado.

Teste de webhooks na Conta de Distribuidor

Uma seção para testar webhooks é exibida na Conta de Distribuidor abaixo das configurações avançadas depois que você ativar webhooks no seu projeto.

Você pode testar os seguintes webhooks:

Nome da aba para testes de webhooksNome e tipo de webhook
Payments and StoreUser validation > User validation (user_validation)
Serviços de jogo > Webhooks combinados > Pagamento bem-sucedido do pedido (order_paid)
Game services > Combined webhooks > Order cancellation (order_canceled)
SubscriptionsUser validation > User validation (user_validation)
Payments > Payment (payment)
DisputeAnti-fraud > Dispute (dispute)
Observação
Encontre abaixo instruções para testar o cenário com webhooks combinados.

Na ausência de valores reais, você pode inserir valores arbitrários.

Você também pode testar webhooks ao fazer compras no modo sandbox ou online. O reembolso de teste está disponível apenas no modo online.

Enviando respostas ao webhook

Para confirmar o recebimento do webhook, seu servidor deve retornar:

  • O código HTTP 200, 201 ou 204 no caso de uma resposta bem-sucedida.
  • O código HTTP 400 com uma descrição do problema se o usuário especificado não for encontrado ou uma assinatura inválida for passada.

Seu manipulador de webhook também pode retornar um código 5xx em caso de problemas temporários em seu servidor.

Observação
A lista completa e o mecanismo dos webhooks, juntamente com exemplos detalhados de seu processamento, estão descritos na documentação de webhooks.

Próximos passos

  1. Configure a venda de assinaturas (opcional).
  2. Configure a autenticação de usuários.

Configurando informações de item em webhooks

Você pode configurar quais dados de itens são inclusos nos webhooks Pagamento do pedido bem-sucedido e Cancelamento do pedido pela matriz items.

Habilitação da inclusão de parâmetros adicionais

Habilite a inclusão de parâmetros adicionais que indicam:

  • se o item é grátis (is_free)
  • se o item é um bônus (is_bonus)
  • se o item faz parte de um conjunto (is_bundle_content)

Para receber esses parâmetros, você deve trocar seus webhooks para a versão 2 usando a chamada de API Atualizar informações sobre as configurações do webhook. Na versão 1 (padrão), esses parâmetros não estão disponíveis.

Exemplo de uma matriz de items com parâmetros adicionais:

Copy
Full screen
Small screen
 1"items": [
 2      {
 3        "sku": "com.xsolla.item_new_1",
 4        "type": "bundle",
 5        "is_pre_order": false,
 6        "is_free": false,
 7        "is_bonus": false,
 8        "is_bundle_content": false,
 9        "quantity": 1,
10        "amount": "1000",
11        "promotions": []
12      },
13      {
14        "sku": "com.xsolla.gold_1",
15        "type": "virtual_currency",
16        "is_pre_order": false,
17        "is_free": false,
18        "is_bonus": false,
19        "is_bundle_content": true,
20        "quantity": 1500,
21        "amount": "[null]",
22        "promotions": []
23      }
24 ]

Desativação da inclusão de conteúdos de conjunto

Por padrão, webhooks incluem todos os tipos de itens do conjunto como uma lista de itens individuais. Você pode configurar o webhook para incluir apenas o conjunto em si, sem listar seus conteúdos.

Nesse caso, os itens inclusos no conjunto não são inclusos na matriz items. Na matriz exibida acima, o item com o SKU com.xsolla.gold_1, que é parte do conjunto, é excluído.

Exemplo de uma matriz de items quando o conteúdo do conjunto está desativado:

Copy
Full screen
Small screen
 1
 2"items": [
 3      {
 4        "sku": "com.xsolla.item_new_1",
 5        "type": "bundle",
 6        "is_pre_order": false,
 7        "is_free": false,
 8        "is_bonus": false,
 9        "is_bundle_content": false,
10        "quantity": 1,
11        "amount": "1000",
12        "promotions": []
13      }
14 ]

Para desativar a inclusão de conteúdos do conjunto, entre em contato com seu Gerente de Sucesso do Cliente ou envie um e-mail para csm@xsolla.com.

Este artigo foi útil?
Obrigado!
Podemos melhorar alguma coisa? Mensagem
Que pena ouvir isso
Explique porque este artigo não foi útil para você. Mensagem
Obrigado pelo seu feedback!
Avaliaremos sua mensagem e a usaremos para melhorar sua experiência.

Links úteis

Última atualização: 8 de Janeiro de 2026

Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.

Relatar um problema
Nós sempre avaliamos nossos conteúdos. Seu feedback nos ajuda a melhorá-los.
Forneça um e-mail para que possamos responder
Obrigado pelo seu feedback!
Não conseguimos enviar seu feedback
Tente novamente mais tarde ou contate-nos via doc_feedback@xsolla.com.