Obter informações de assinatura

Você pode obter informações sobre a atividade com assinaturas das seguintes maneiras:

Configure por meio de chamadas de API

No lado do cliente do seu aplicativo, implemente a obtenção de informações sobre assinaturas de usuário usando uma solicitação HTTP GET.

A Xsolla API usa autenticação de acesso HTTP. A solicitação deve conter um cabeçalho Authorization: Bearer <client_user_jwt>, onde <client_user_jwt> é um token exclusivo codificado de acordo com o padrão Base64. Para obtê-lo:

Observação
Para chamar a API Xsolla, você pode usar os métodos SDK prontos para engines e plataformas de jogos:

Especifique o ID do projeto como o parâmetro de caminho projectId. Você pode encontrar esse parâmetro em sua Conta de Distribuidor ao lado do nome do projeto.

Especifique como parâmetros de consulta:

  • limit — limite para o número de elementos na página (15 elementos são exibidos por padrão).
  • offset — número do elemento a partir do qual a lista é gerada (a contagem começa a partir de 0).
  • locale — idioma da interface (inglês por padrão). Aceita valores de acordo com a norma ISO 639-1.

Copy
Full screen
Small screen
curl -X 'GET' \
  'https://subscriptions.xsolla.com/api/user/v1/projects/{projectId}/subscriptions?locale=ru&limit=5&offset=5 ' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer client_user_jwt'
Copy
Full screen
Small screen
{
  "items": [
    {
      "id": 11111111,
      "plan_id": 11111,
      "plan_external_id": "TestChangePlanBase",
      "plan_name": "package_recurrent_name_66053",
      "plan_description": "package_recurrent_description_66053",
      "product_id": null,
      "product_external_id": null,
      "product_name": null,
      "product_description": null,
      "status": "active",
      "date_create": "2021-03-11T13:50:11+03:00",
      "date_next_charge": "2031-04-11T13:51:02+03:00",
      "date_last_charge": "2021-03-11T13:51:02+03:00",
      "charge": {
        "amount": "0.2500",
        "currency": "USD"
      },
      "period": {
        "value": 1,
        "unit": "day"
      }
    }
  ],
  "has_more": true
}

Configurar webhooks

A solução Subscriptions oferece suporte a webhooks para os seguintes eventos:

Observação
Para cancelar uma assinatura, o último pagamento deve ser cancelado. Se um usuário tiver renovado sua assinatura manualmente e pago por vários períodos, ele deverá cancelar todos os pagamentos.
  • Reembolso:
    • Reembolso (o pagamento foi cancelado na Conta de Distribuidor)
    • Assinatura Atualizada (o pagamento foi cancelado, mas a assinatura ainda está ativa. Isso é possível se o usuário pagou acidentalmente pela assinatura duas vezes e cancelou apenas o último pagamento)
    • Assinatura Cancelada (o pagamento foi cancelado na Conta de Distribuidor ou todos os pagamentos foram cancelados para todos os períodos válidos)
Observação
Você pode encontrar mais informações sobre webhooks em nossa documentação da API.
Para configurar webhooks:
  1. Na Conta de Distribuidor, vá para Project settings > Webhooks.
  2. Defina a opção no bloco Webhooks como On.

  1. Especifique o URL do webhook. Clique em Save settings.

  1. Teste webhooks na Conta de Distribuidor.
  2. Teste a compra da assinatura.
  3. Teste a renovação da assinatura.
  4. Teste o cancelamento de assinatura.

Teste webhooks na Conta de Distribuidor

  1. Em Conta de Distribuidor > Project settings > Webhooks, vá para a aba Subscriptions.
  1. Para testar webhooks, especifique valores do seu projeto (ID do Usuário, ID da Fatura) a serem enviados em uma solicitação para o URL do webhook que você forneceu. Na ausência de valores reais, você pode inserir valores arbitrários. Preencha os seguintes campos de formulário:
Observação
Na Conta de Distribuidor, você só pode testar os webhooks básicos Validação do usuário e Pagamento. Para testar outros tipos de webhook, vá para:
  1. Clique em Testar.
  2. Verifique se você recebeu uma mensagem de êxito de teste. Se o teste for bem-sucedido, o servidor retornará um código de status HTTP 204. Se não for bem-sucedido, o servidor retornará um código de status HTTP 400 ou 500 junto com uma descrição do erro.

Teste a compra da assinatura

Ao testar um pagamento, os webhooks Validação do usuário, Pagamento e Assinatura criada serão enviados para o URL especificado na etapa Configure webhooks. Para testar o processo de pagamento, você pode:
  • Usar o modo sandbox (para assinaturas com um período de avaliação de 0 dias)
  • Faça um pagamento real e, em seguida, inicie um reembolso via a Conta de Distribuidor (para assinaturas com um período de avaliação de mais de 0 dias)
Observação
O teste de assinaturas com um período de avaliação só é possível para pagamentos reais, já que você não pode vincular uma conta de cobrança a uma assinatura no modo sandbox.

Modo sandbox

  1. Obtenha um token para o modo sandbox. Passe o valor 0 para o parâmetro Trial period (trial_days).
  2. Escolha o grupo de métodos de pagamento Cartões de crédito/débito.
  3. Insira os dados do cartão bancário de teste. Insira quaisquer valores nos campos restantes. Você também pode especificar detalhes incorretos (número do cartão, data de validade ou CVV) para gerar um erro.
Observação
No modo sandbox, você pode usar apenas cartões bancários de teste. Os pagamentos com cartões bancários sandbox podem ser feitos nas seguintes moedas: USD, EUR, RUB, GBP, AED, ALL, AMD, ARS, AUD, AZN, BGN, BRL, BYN, CAD, CHF, CLP, CNY, COP, CZK, DKK, DZD, EGP, GEL, HKD, HRK, HUF, IDR, ILS, INR, ISK, JPY, KES, KGS, KRW, KZT, MAD, MDL, MKD, MNT, MXN, MYR, NGN, PEN, PHP, PKR, PLN, RON, RSD, SAR, SEK, SGD, THB, TRY, TWD, UAH, UYU, UZS, VEF, VND, ZAR.
  1. Receba webhooks para Validação do usuário, Pagamento e Assinatura atualizada no URL especificado na etapa Configure webhooks.

Pagamento real

Para testar o pagamento de uma assinatura com um período de avaliação, você precisará usar um pagamento real:
  1. Conclua o Teste de webhooks na Conta de Distribuidor e ative o módulo Subscriptions.
  2. Assine um Contrato de Licença.
Observação
A assinatura do Contrato de Licença ativa a venda de assinaturas reais.
  1. Obtenha um token para pagamentos reais.
Aviso
Remova o parâmetro “mode”:“sandbox” da solicitação de token antes de começar a receber pagamentos reais.
  1. Abra a interface de pagamento com o seguinte link: https://secure.xsolla.com/paystation4/?token=ACCESS_TOKEN, onde ACCESS_TOKEN é o token obtido na etapa anterior.
  2. Escolha o grupo Cartão de crédito/débito nos métodos de pagamento.
  3. Insira os dados válidos do cartão bancário.
Observação
Os cartões bancários de teste são adequados apenas para o modo sandbox. Recomenda-se o uso de cartões Visa e MasterCard para testar pagamentos reais.
  1. Receba os webhooks Validação do usuário, Pagamento e Assinatura atualizada no URL do webhook que você forneceu na etapa Configure webhooks.
  2. Reembolse o seu pagamento. Para fazer isso, vá para a Conta de Distribuidor> Suporte > Transaction search.
  3. Escolha a transação de teste e clique no botão de menu More (•••). Clique em Refund no menu pop-up (a transação deve ter o status Concluída). Isso enviará os webhooks Assinatura cancelada e Reembolso.

Teste a renovação da assinatura

Aviso
Disponível apenas para assinaturas sem um período de avaliação.
Para testar a renovação da assinatura:
  1. Obtenha um token para o modo sandbox. Passe o valor 0 para o parâmetro Trial period (trial_days).
  2. Pague pela sua assinatura usando qualquer método de pagamento.
  3. Reabra a interface de pagamento no modo sandbox.
  4. Pague novamente para renovar sua assinatura usando qualquer método de pagamento.
  5. Obtenha os webhooks Validação do usuário, Pagamento e Assinatura atualizada no URL do webhook que você especificou na etapa Configure webhooks.

Testar cancelamento de assinatura

Para testar o cancelamento de assinatura, use:

Pesquisar por assinatura

  1. Em Conta de Distribuidor, vá para Suporte > Subscribers.
  2. Encontre a assinatura que você deseja cancelar.
  3. Abra o menu de status da assinaturas e selecione:
    1. Cancel and refund para receber os webhooks Assinatura cancelada e Reembolso.
    2. Cancel without refund para receber o webhook Assinatura cancelada.

Pesquisar por transações recentes

  1. Na Conta de Distribuidor, vá para Support > Transaction search.
  2. Encontre as últimas transações a serem canceladas.
  3. Clique no ícone More (•••). Clique em Refund no menu pop-up para receber os webhooks Assinatura cancelada e Reembolso.
Observação
Se a assinatura tiver sido paga várias vezes, todos os pagamentos devem ser cancelados.

Use chamadas de API

Use a chamada da API Atualizar Assinatura para alterar o status da assinatura para Canceled e receber o webhook Assinatura cancelada.

Abra a interface de pagamento no modo sandbox

Para abrir a interface de pagamento do modo sandbox, obtenha um token com o modo sandbox ativo. A seguir estão maneiras de obter um link com o token necessário:

Via Conta de Distribuidor

  1. Teste webhooks na Conta de Distribuidor. Especifique o valor 0 no campo Trial period para testar uma assinatura que não tenha um período de avaliação. Depois de receber uma mensagem de confirmação de um teste bem-sucedido, um link com o token necessário aparecerá sob o cabeçalho Sandbox URL.
  1. Siga o link Sandbox URL.

Via chamada de API

  1. Passe os parâmetros "settings":{"mode":"sandbox"} para o método Criar token. Passe os parâmetros "purchase": {"subscription":{"trial_days": 0}} para testar uma assinatura que não tenha um período de avaliação.
  2. Use o seguinte link: https://sandbox-secure.xsolla.com/paystation4/?token=ACCESS_TOKEN, onde ACCESS_TOKEN é o token obtido na etapa anterior.
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.
Última atualização: 31 de Julho de 2024

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!