Obter informações de assinatura
Você pode obter informações sobre a atividade com assinaturas das seguintes maneiras:
- solicitar informações usando as chamadas de API (adequado para integração sem servidor)
- obter informações quando o status da assinatura for alterado automaticamente usando webhooks (adequado para integração de servidor)
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:
- Ao autorizar por login e senha, use as chamadas de API Register new user e Auth by username and password.
- Ao autorizar através de redes sociais, use as chamadas de API Auth via chamadas social network.
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.
- curl
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'
- javascript
{
"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:
- Pagamento de uma assinatura:
- Renovando uma assinatura:
- Cancelando uma assinatura: Assinatura Cancelada (a assinatura foi cancelada na Conta de Distribuidor ou todos os pagamentos foram cancelados por todos os períodos válidos)
- 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)
- Na Conta de Distribuidor, vá para Project settings > Webhooks.
- Defina a opção no bloco Webhooks como On.
- Especifique o URL do webhook. Clique em Save settings.
- Teste webhooks na Conta de Distribuidor.
- Teste a compra da assinatura.
- Teste a renovação da assinatura.
- Teste o cancelamento de assinatura.
Teste webhooks na Conta de Distribuidor
- Em Conta de Distribuidor > Project settings > Webhooks, vá para a aba Subscriptions.
- 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:
- ID do usuário
- ID da fatura Xsolla
- Valor
- Moeda
- ID do Plano
- Produto da assinatura (opcional)
- ID da Fatura — número do pedido interno (opcional)
- Período de teste (Para testar uma compra de assinatura no modo sandbox ou testar a renovação de assinaturas, defina um valor
0
.)
- Clique em Testar.
- 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)
Modo sandbox
- Obtenha um token para o modo sandbox. Passe o valor
0
para o parâmetro Trial period (trial_days
). - Escolha o grupo de métodos de pagamento Cartões de crédito/débito.
- 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.
- 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:- Conclua o Teste de webhooks na Conta de Distribuidor e ative o módulo Subscriptions.
- Assine um Contrato de Licença.
- Obtenha um token para pagamentos reais.
“mode”:“sandbox”
da solicitação de token antes de começar a receber pagamentos reais.- Abra a interface de pagamento com o seguinte link:
https://secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
, ondeACCESS_TOKEN
é o token obtido na etapa anterior. - Escolha o grupo Cartão de crédito/débito nos métodos de pagamento.
- Insira os dados válidos do cartão bancário.
- Receba os webhooks Validação do usuário, Pagamento e Assinatura atualizada no URL do webhook que você forneceu na etapa Configure webhooks.
- Reembolse o seu pagamento. Para fazer isso, vá para a Conta de Distribuidor> Suporte > Transaction search.
- 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
- Obtenha um token para o modo sandbox. Passe o valor
0
para o parâmetro Trial period (trial_days
). - Pague pela sua assinatura usando qualquer método de pagamento.
- Reabra a interface de pagamento no modo sandbox.
- Pague novamente para renovar sua assinatura usando qualquer método de pagamento.
- 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
- Em Conta de Distribuidor, vá para Suporte > Subscribers.
- Encontre a assinatura que você deseja cancelar.
- Abra o menu de status da assinaturas e selecione:
- Cancel and refund para receber os webhooks Assinatura cancelada e Reembolso.
- Cancel without refund para receber o webhook Assinatura cancelada.
Pesquisar por transações recentes
- Na Conta de Distribuidor, vá para Support > Transaction search.
- Encontre as últimas transações a serem canceladas.
- Clique no ícone More (•••). Clique em Refund no menu pop-up para receber os webhooks Assinatura cancelada e Reembolso.
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 modosandbox
ativo. A seguir estão maneiras de obter um link com o token necessário:Via Conta de Distribuidor
- 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.
- Siga o link Sandbox URL.
Via chamada de API
- 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. - Use o seguinte link:
https://sandbox-secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
, ondeACCESS_TOKEN
é o token obtido na etapa anterior.
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.