Gerenciar assinaturas e compras únicas

Talvez seja necessário realizar ações de gerenciamento em assinaturas ou compras únicas como parte do dia a dia. Por exemplo, talvez seu atendimento ao cliente precise emitir reembolsos totais ou parciais para os usuários ou revogar direitos em determinados casos. Você pode gerenciar pedidos no Play Console ou, caso queira fazer isso, no seu próprio sistema, usando a API Google Play Developer.

Cancelar assinaturas

Os usuários podem cancelar uma assinatura do Google Play a qualquer momento na Play Store, mas você também precisa oferecer a opção de cancelamento no app e no site, se aplicável.

A maneira mais fácil de permitir que os usuários cancelem voluntariamente é criando um link direto para a Play Store, onde eles podem ver e gerenciar a assinatura.

Talvez também seja necessário acionar cancelamentos no back-end. O método purchases.subscriptions.cancel permite cancelar uma compra de assinatura. Por exemplo, use esse método para desativar um serviço legado. O cancelamento de uma assinatura não gera um reembolso, e o usuário continua ter acesso até o final do período de faturamento atual. O cancelamento de uma assinatura com esse método impede que o usuário restaure a assinatura na Play Store, mas ainda pode se inscrever novamente pelo app, se necessário.

Essa ação aciona uma notificação do desenvolvedor em tempo real SUBSCRIPTION_CANCELED. Processe esses cancelamentos conforme descrito em Cancelamentos.

Adiar o faturamento

Use subscriptions.defer para estender o período de direitos de uma assinatura. Durante o período de adiamento, o usuário permanece assinante do conteúdo, mas não é cobrado pelo tempo extra. Quando você adia o faturamento de uma assinatura, as informações de status são atualizadas e aparecem no campo expiryTime nas informações de status de compra:

  • Para assinaturas recorrentes ativas, o faturamento adiado estende a próxima data de renovação.
  • Para planos pré-pagos, o faturamento diferido estende o prazo de validade.

Alguns exemplos de como você pode usar o faturamento adiado são:

  • Oferecer aos usuários acesso sem custo financeiro como uma oferta especial, por exemplo, oferecendo uma semana sem custos aos assinantes pelo preenchimento de uma pesquisa de feedback.
  • Ofereça aos clientes acesso sem custo financeiro como uma ação de atendimento, por exemplo, após uma interrupção prolongada que possa ter afetado a capacidade de usar seu serviço.

O faturamento pode ser adiado de um dia a um ano por chamada de API. Para adiar ainda mais o fim do direito, chame a API novamente antes da nova data de validade.

Essa ação aciona uma notificação do desenvolvedor em tempo real SUBSCRIPTION_DEFERRED. Consulte Adiar o faturamento de um assinante em Sobre assinaturas para saber como lidar com esses eventos.

Exemplo:

  1. O serviço de streaming FitnessGoals quer realizar uma promoção para incentivar a prática regular de atividade física em fevereiro.

  2. Ela decide oferecer um mês extra de serviço para qualquer assinante que se exercite com metas de condicionamento físico pelo menos 10 vezes durante o mês de fevereiro.

  3. Ele monitora os resultados do desafio e, em 1o de março, chama a API subscriptions.defer para cada compra de assinatura ativa pertencente a usuários que venceram o desafio em fevereiro.

  4. Esses usuários recebem o benefício de um mês extra de vídeos de exercícios regulares sem custo financeiro e contam para todos os amigos como as metas de condicionamento físico os ajudam a manter a saúde!

Emitir reembolsos e revogações

Há muitas situações em que você pode querer emitir um reembolso ou revogar o acesso a uma assinatura ou compra única.

Reembolsar totalmente um pedido pelo ID do pedido

Com a API orders.refund, você pode emitir reembolsos totais para qualquer pedido em até três anos após a compra. O método orders.refund recebe um parâmetro de revogação indicando se o acesso precisa ser revogado, além de fornecer o reembolso.

Se você emitir uma revogação com a chamada de reembolso para compra de assinatura, ela será encerrada imediatamente e acionará umaSUBSCRIPTION_REVOKED Notificação do desenvolvedor em tempo real. Leia a seção "Revogações" do guia de gerenciamento do ciclo de vida da assinatura para saber como processar esses eventos.

Exemplo:

  1. Para comemorar o início da nova Copa do Mundo, o app de e-sports Football-Not-Soccer decide concorrer a camisetas virtuais sem custo financeiro para todos os usuários que comprarem novos kits de times nas primeiras 24 horas.

  2. O Football-Not-Soccer usa a API orders.refund sem transmitir um parâmetro de revogação para reembolsar as compras da camisa dos vencedores.

Revogar e reembolsar uma assinatura por token de compra

Em determinados casos de uso, pode ser necessário revogar o acesso à assinatura de um usuário e reembolsá-lo. O Play Faturamento oferece reembolsos parciais, incluindo reembolsos proporcionais que podem ser emitidos usando a API subscriptionsv2.revoke. Com esse endpoint, é possível especificar revocationContext para determinar como o reembolso é calculado.

Essa ação aciona uma Notificação do desenvolvedor em tempo real SUBSCRIPTION_REVOKED. Seu app precisa processar esses cancelamentos conforme descrito em Revogações.

Exemplo:

  • Comprar com o token de compra 1a2b3c4d5e6f7g8h9i0j
  • Aplicativo com o nome de pacote com.your.app
  • Intenção de emitir um reembolso proporcional

Solicitação HTTP POST:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

Corpo da solicitação:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

Reembolso proporcional

Se você precisar encerrar uma assinatura e reembolsar parcialmente o tempo de direito restante, emita um reembolso proporcional. Use a função purchases.subscriptionsv2.revoke e defina "proratedRefund": {} como o tipo de reembolso.

Exemplo:

  1. Maria tem uma assinatura de 30 dias com renovação automática do plano mensal de streaming SuperMovies. Ela usa o serviço há algum tempo com prazer. Maria entra em contato com o atendimento ao cliente no 15o dia do ciclo de faturamento informando que está se mudando para o exterior e não poderá mais usar o serviço a partir do dia seguinte.

  2. O atendimento ao cliente localiza os detalhes da compra da assinatura de Maria no sistema dela e aciona uma chamada para purchases.subscriptionsv2.revoke solicitando um reembolso proporcional.

  3. O atendimento ao cliente diz a Maria que ela precisa reembolsar cerca de 50% do preço da assinatura e que o acesso ao serviço será encerrado imediatamente.