Gerenciando o ciclo de vida da assinatura SaaS
O marketplace comercial gerencia todo o ciclo de vida de uma assinatura SaaS após sua compra pelo usuário final. Ele usa a página de aterrissagem, APIs de Cumprimento, APIs de Operações e o webhook como um mecanismo para conduzir a ativação, o uso, as atualizações e o cancelamento da assinatura SaaS real. A fatura do usuário final baseia-se no estado da assinatura SaaS que a Microsoft mantém.
Estados de uma assinatura saaS
O diagrama a seguir mostra os estados de uma assinatura saaS e as ações aplicáveis.
Comprado, mas ainda não ativado (PendingFulfillmentStart)
Depois que um usuário final ou um CSP (provedor de soluções de nuvem) compra uma oferta de SaaS no marketplace comercial, o editor é notificado sobre a compra. Em seguida, o editor pode criar e configurar uma nova conta SaaS no lado do editor para o usuário final.
Para que a criação da conta aconteça:
- O cliente seleciona o botão Configurar conta agora disponível para uma oferta saaS após sua compra bem-sucedida no Microsoft AppSource ou no portal do Azure. Como alternativa, o cliente pode usar o botão Configurar agora no email que receberá logo após a compra.
- Em seguida, a Microsoft notifica o parceiro sobre a compra abrindo a URL da página de aterrissagem com o parâmetro de token (o token de identificação de compra do marketplace comercial) na nova guia do navegador.
Um exemplo dessa chamada é https://contoso.com/signup?token=<blob>
, mas a URL da página de aterrissagem dessa oferta de SaaS no Partner Center é configurada como https://contoso.com/signup
. Esse token fornece ao editor uma ID que identifica exclusivamente a compra de SaaS e o cliente.
Ponta
Não inclua o caractere de sinal de libra (#) na URL da página de aterrissagem. Caso contrário, os clientes não poderão acessar sua página de aterrissagem. O publicador tem 30 dias para resolver o ativo quando o status é PendingFulfillmentStart. Caso contrário, o ativo será anulado. Como o ciclo de cobrança não foi iniciado e a respectiva compra não é cobrada, o status é alterado para Não assinado. O cliente não é cobrado pela compra.
Importante
A URL da página de aterrissagem deve estar ativa o dia todo, todos os dias e pronta para receber novas chamadas da Microsoft sempre. Se a página de aterrissagem ficar indisponível, os clientes não poderão se inscrever no serviço SaaS e começar a usá-lo.
Em seguida, o editor deve passar o token de volta para a Microsoft chamando a API de Resolução de SaaS e inserindo o token como o valor do parâmetro x-ms-marketplace-token header
. Como resultado da chamada à API resolve, o token é trocado por detalhes da compra de SaaS, como a ID exclusiva da compra, a ID da oferta adquirida e a ID do plano adquirido.
Na página de aterrissagem, o cliente deve ser conectado à conta SaaS nova ou existente por meio do SSO (logon único) do Microsoft Entra.
Nota
O publicador não é notificado sobre a compra de SaaS até que o cliente inicie o processo de configuração do lado da Microsoft.
O editor deve implementar o SSO para fornecer a experiência do usuário exigida pela Microsoft para esse fluxo. Use o aplicativo Microsoft Entra multilocatário e permita contas corporativas e de estudante ou contas pessoais da Microsoft ao configurar o SSO. Esse requisito se aplica somente à página de aterrissagem, para usuários que são redirecionados para o serviço SaaS quando já estão conectados com as credenciais da Microsoft. O SSO não é necessário para todas as entradas no serviço SaaS.
Nota
Se o SSO exigir que um administrador precise conceder permissão a um aplicativo, a descrição da oferta no Partner Center deverá divulgar que o acesso no nível do administrador é necessário. Essa divulgação é para cumprir políticas de certificação do marketplace comercial.
Depois de entrar, o cliente deve concluir a configuração de SaaS no lado do editor. Em seguida, o editor deve chamar o Ativar a API de Assinatura para enviar um sinal ao Azure Marketplace de que o provisionamento da conta SaaS está concluído. Essa ação inicia o ciclo de cobrança do cliente. Se a chamada à API ativar assinatura não for bem-sucedida, o cliente não será cobrado pela compra.
Tanto o comprador quanto o proprietário da conta de cobrança recebem um email solicitando que ele configure a conta.
Nota
O Publicador tem 30 dias para resolver o ativo quando o status é PendingFulfillmentStart. Caso contrário, o ativo será anulado porque o ciclo de cobrança não foi iniciado e a respectiva compra não será cobrada. O status é alterado para não assinado. O cliente não é cobrado pela compra.
Active (Subscrito)
active (subscrito) é o estado estável de uma assinatura SaaS provisionada. Após os processos do lado da Microsoft, a chamada Ativar API de Assinatura, a assinatura saaS será marcada como assinatura. O cliente agora pode usar o serviço SaaS do lado do editor e é cobrado.
Quando uma assinatura saaS já estiver ativa, o cliente poderá selecionar Gerenciar de experiência saaS no portal do Azure ou no Centro de Administração do Microsoft 365. Essa ação também faz com que a Microsoft chame a URL da página de aterrissagem
Um email de notificação de ativação é enviado ao comprador e ao proprietário da conta de cobrança.
Sendo atualizado (inscrito)
Essa ação significa que uma atualização para uma assinatura saaS ativa existente está sendo processada pela Microsoft e pelo editor. Atualizações iniciadas por:
- O cliente do marketplace comercial.
- O CSP do marketplace comercial.
- O cliente do site saaS do editor (mas não para compras feitas por CSP).
Dois tipos de atualizações estão disponíveis para uma assinatura SaaS:
- Atualize o plano quando o cliente escolher outro plano para a assinatura.
- Atualize a quantidade quando o cliente alterar o número de licenças adquiridas para a assinatura.
Somente uma assinatura ativa pode ser atualizada. Enquanto a assinatura está sendo atualizada, seu estado permanece ativo no lado da Microsoft.
Atualização iniciada do marketplace comercial
Nesse fluxo, o cliente altera o plano de assinatura ou a quantidade de licenças do portal do Azure ou do Centro de Administração do Microsoft 365.
- Depois que uma atualização for inserida, a Microsoft chamará a URL do webhook do editor, configurada no campo do webhook de conexão
na página de configuração técnica do no Partner Center, com um valor apropriado para de ações e outros parâmetros relevantes. - O lado do editor deve fazer as alterações necessárias no serviço SaaS e notificar a Microsoft quando terminar chamando o Status de Atualização da API de Operação.
- Se o patch for enviado com falhar status, o processo de atualização não será concluído no lado da Microsoft. A assinatura saaS mantém o plano existente e a quantidade de licenças.
Nota
O editor deve invocar PATCH para atualizar o status da API de Operação com uma resposta de falha/sucesso dentro de uma janela de tempo de 10 segundos após receber a notificação de webhook. Se PATCH do status da operação não for recebido dentro de 10 segundos, o plano de alteração será automaticamente corrigido como êxito.
A sequência de chamadas de API para um cenário de atualização que inicia do marketplace comercial é mostrada no diagrama a seguir.
Atualização iniciada do publicador
Nesse fluxo, o cliente altera o plano de assinatura ou a quantidade de licenças adquiridas do próprio serviço SaaS.
- Antes que a alteração solicitada seja feita no lado do editor, o código do editor deve chamar a API do plano de alteração
ou o de API de Alteração de Quantidade ou ambos. - A Microsoft aplica a alteração à assinatura e, em seguida, notifica o editor por meio de de webhook de conexão para aplicar a mesma alteração.
- Somente então o editor deve fazer a alteração necessária na assinatura saaS e notificar a Microsoft quando a alteração for feita chamando Status de Atualização da API de Operação.
A sequência de chamadas de API para um cenário de atualização que inicia do lado do editor é mostrada no diagrama a seguir.
Um email de notificação que indica uma alteração de plano é enviado ao comprador e ao proprietário da conta de cobrança.
Um email de notificação que indica uma alteração na quantidade é enviado ao comprador e ao proprietário da conta de cobrança.
Suspenso (Suspenso )
Esse estado indica que o pagamento de um cliente pelo serviço SaaS não foi recebido. A Microsoft notifica o editor sobre essa alteração no status da assinatura SaaS. A notificação é feita por meio de uma chamada para webhook com a ação parâmetro definido como Suspenso.
O editor pode ou não fazer alterações no serviço SaaS no lado do editor. Recomendamos que o editor disponibilize essas informações para o cliente suspenso e limite ou bloqueie o acesso do cliente ao serviço SaaS. Há uma probabilidade de que o pagamento nunca seja recebido.
Nota
A Microsoft oferece ao cliente um período de carência de 30 dias antes de cancelar automaticamente a assinatura. Depois que o período de carência de 30 dias terminar, o webhook receberá uma ação Unsubscribe
.
Quando uma assinatura está no estado Suspensa:
- O parceiro ou ISV deve manter a conta SaaS em um estado recuperável, para que a funcionalidade completa possa ser restaurada sem nenhuma perda de dados ou configurações.
- O parceiro ou ISV deverá esperar uma solicitação para restabelecer a assinatura, se o pagamento for recebido durante o período de carência ou uma solicitação para desprovisionar a assinatura no final do período de carência. O mecanismo de webhook envia ambas as solicitações.
O estado da assinatura é alterado para Suspenso no lado da Microsoft antes que o editor realize qualquer ação. Somente assinaturas ativas podem ser suspensas.
Um email de notificação que indica a alteração no status para Suspenso é enviado ao comprador e ao proprietário da conta de cobrança.
Após um período de 30 dias de suspensão, um email sobre o cancelamento pós-suspensão é enviado ao comprador e ao proprietário da conta de cobrança.
Reintegrado (Suspenso)
Essa ação indica que o instrumento de pagamento do cliente é válido novamente. Foi feito um pagamento para a assinatura saaS e a assinatura é restabelecida. Nesse caso:
- A Microsoft chama o webhook com uma ação
parâmetro definido como o valor de restabelecido . - O editor garante que a assinatura esteja totalmente operacional novamente no lado do editor.
- O processo de reintegração é bem-sucedido e o cliente é cobrado novamente pela assinatura saaS.
Somente uma assinatura suspensa pode ser restabelecida. A assinatura saaS suspensa permanece em um estado de Suspensa enquanto está sendo restabelecida. Após a conclusão dessa operação, o status da assinatura se torna Active.
Um email é enviado ao comprador e ao proprietário da cobrança após a transição do estado suspenso para o estado restabelecido.
Renovado (inscrito)
A Microsoft renova automaticamente a assinatura saaS no final do período de assinatura de um mês ou um ano. O padrão para a configuração de autorenewal é verdadeiro para todas as assinaturas SaaS. As assinaturas SaaS ativas continuam a ser renovadas com uma cadência regular. A Microsoft fornece notificações de webhook somente de informação para renovar eventos. Um cliente pode desativar a renovação automática de uma assinatura SaaS por meio do Portal de Administração do Microsoft 365. Nesse caso, a assinatura saaS é cancelada automaticamente no final do prazo de cobrança atual. Os clientes também podem cancelar a assinatura saaS a qualquer momento.
Somente assinaturas ativas são renovadas automaticamente. As assinaturas permanecem ativas durante o processo de renovação e, se a renovação automática for bem-sucedida. Após a renovação, as datas de início e término do termo de assinatura são atualizadas para as datas do novo termo.
Se uma solicitação automática falhar devido a um problema com o pagamento, a assinatura se tornará Suspensa e o publicador será notificado.
Os emails de lembrete para renovação são enviados ao comprador e ao proprietário da conta de cobrança, 30 dias antes da data de renovação anual/multianual.
Cancelado (não assinado )
As assinaturas chegam a esse estado depois que uma ação explícita de cliente ou CSP ocorre para cancelar a assinatura. Eles cancelam uma assinatura do site do editor, do portal do Azure ou do Centro de Administração do Microsoft 365. Uma assinatura também é cancelada implicitamente, como resultado do não pagamento de dívidas e após estar no estado Suspenso por 30 dias.
Depois que o publicador receber uma chamada de webhook de cancelamento, ele deverá manter os dados do cliente para recuperação sob solicitação por pelo menos sete dias. Somente então os dados do cliente podem ser excluídos.
Uma assinatura saaS pode ser cancelada a qualquer momento em seu ciclo de vida. Depois que uma assinatura é cancelada, ela não pode ser reativada.
O email de cancelamento é enviado ao comprador e ao proprietário da conta de cobrança.
Conteúdo relacionado
- APIs de assinatura de atendimento saaS v2
- APIs de operações de cumprimento de SaaS do v2
tutoriais de vídeo
- criar um Portal do Editor SaaS Simples no .NET
- usando o da API rest de oferta de SaaS