Teste de faturamento no aplicativo

O Google Play Developer Console oferece diversas ferramentas que ajudam a testar sua implementação do Faturamento no aplicativo:

  • As compras de teste, que permitem que usuários licenciados para o teste comprem os itens publicados no aplicativo, sem serem cobrados.
  • As respostas de faturamento estáticas do Google Play para testar no início do desenvolvimento

Para testar o faturamento no aplicativo, você deve publicar o aplicativo em um canal alfa ou beta do Google Play.

Depois de publicar um aplicativo em um desses canais, podem levar algumas horas para o aplicativo ser disponibilizado para os testadores. O código da versão de um APK em um dispositivo de teste deve ser compatível com a versão atualmente carregada no canal alfa ou beta do Google Play.

Importante: Para testar produtos internos de um aplicativo ou fazer compras no seu aplicativo do canal alfa ou beta, cada testador precisa se inscrever o teste alfa ou beta do seu aplicativo. No URL de inscrição do seu teste, os testadores obterão uma explicação do que significa ser um testador e um link para a inscrição.

É possível testar qualquer dispositivo de hardware equipado com Android que opere com Android 1.6 ou posterior. A versão mais atual do aplicativo Google Play deve estar instalada no dispositivo. Para obter informações gerais sobre como configurar um dispositivo para uso nos desenvolvimento de aplicativos Android, consulte Usar dispositivos de hardware.

Testar compras no aplicativo

Quando a implementação do Faturamento no aplicativo estiver pronta, você poderá testar a compra das SKUs do aplicativo de duas formas:

  • Compras de teste, que permitem selecionar usuários licenciados para o teste para comprar os produtos internos do aplicativo sem cobrá-los. As compras de teste podem ser usadas apenas nas versões alfa/beta.
  • Compras reais, que permitem que usuários comuns façam compras reais de produtos do seu aplicativo e sejam efetivamente cobrados.

Em todo caso, você precisa publicar o aplicativo nos canais das versões alfa e beta do Google Play para gerenciar os usuários que podem fazer compras.

A seção abaixo fornece mais detalhes sobre como usar essas abordagens para testes e validação.

Compras de teste (Sandbox do Faturamento no aplicativo)

As compras de teste oferecem uma maneira segura e conveniente de habilitar testes em maior escala da sua implementação do Faturamento no aplicativo durante o desenvolvimento ou na preparação para o lançamento. Eles permitem que contas de usuário autorizadas façam compras de produtos internos do aplicativo por meio do Google Play sem incorrer em cobranças.

Depois de receber autorização para acessar os testes, esses usuários podem fazer compras sem serem cobrados. As compras de teste não têm um campo orderId, o que garante que realmente não haja cobranças às contas de usuário.

Observação: As compras de teste de assinaturas ocorrem diariamente, independentemente do período de assinatura do produto.

Configurar compras de teste

É fácil configurar compras de teste — toda conta de usuário serve como conta de teste, e todo usuário com uma conta de teste pode fazer compras de teste com qualquer forma de pagamento disponível (embora não haja cobrança na forma de pagamento).

Primeiramente, carregue e publique os produtos no aplicativo que deseja que os testadores possam comprar. É possível carregar e publicar produtos no aplicativo no Developer Console. Observe que você pode carregar e publicar itens no aplicativo antes de publicar o próprio APK.

Em seguida, crie contas de teste licenciadas para usuários autorizados. No Developer Console, acesse Settings > Account details e, na seção License Testing, adicione os endereços ao campo Gmail accounts with testing access. Para saber mais, consulte Configurar para permitir compras de teste.

Depois de adicionar as contas de testador licenciadas para os usuários e salvar, dentro de 15 minutos esses usuários poderão começar a fazer compras de teste dos produtos internos do seu aplicativo.

Importante: Depois de publicar o aplicativo em um canal alfa ou beta, os testadores precisarão se inscrever no teste beta ou alfa do seu aplicativo usando o URL de inscrição fornecido antes de fazerem compras de teste.

Observação: As contas de teste licenciadas devem estar no dispositivo Android do usuário. Se o dispositivo tiver mais de uma conta, ela ocorrerá na conta que baixou o aplicativo. Se nenhuma das contas tiver baixado o aplicativo, a compra ocorrerá na primeira conta. Para confirmar a conta que está fazendo a compra, o usuário pode expandir a caixa de diálogo da compra.

Observação: Compras de teste não têm campo orderId. Para acompanhar as compras de teste, use o campo purchaseToken.

Compras de teste e conta de desenvolvedor

As contas de teste licenciadas e autorizadas se associam à sua conta de desenvolvedor no Google Play em vez de um APK ou nome de pacote específico. A identificação de uma conta como de teste permite comprar com ela qualquer produto do aplicativo sem receber cobrança.

Detalhes do fluxo de compra

Durante uma compra de teste, os usuários podem testar as propagandas, as compras e o fluxo de processamento do pedido no aplicativo. Durante a compra, o item interno do aplicativo é exibido como um item normal com um preço real. Porém, o Google Play marca compras de teste com um aviso no centro da caixa de diálogo da compra para facilitar a identificação.

Cancelar compras de teste concluídas

O Google Play acumula compras de teste concluídas para cada usuário, mas não as passa para processamento financeiro.

Em alguns casos, você pode querer cancelar manualmente uma compra de teste para continuar testando. Para tanto, abra a página do aplicativo na Play Store. Se a compra de teste que você quiser cancelar for uma assinatura, você também pode usar o método cancel() da API Purchases.subscriptions.

Importante: Os métodos refund() e revoke() da Purchases.subscriptions API não são compatíveis com compras de teste.

Testar com transações reais

Ao se preparar para lançar um aplicativo que usa Faturamento no aplicativo, você pode fazer uso das opções de versão alfa/beta do Google Play para fazer uma validação e carregar testes na implementação antes de distribuir o aplicativo a todos os usuários.

Com grupos de teste alfa/beta, usuários reais (escolhidos por você) podem instalar seu aplicativo pelo Google Play e testar os produtos internos dele. Eles podem fazer compras reais que resultam em cobranças efetivas em sua conta e usar qualquer método de pagamento normal no Google Play. Observe que, se você incluir contas licenciadas de teste nos grupos de distribuição alfa e beta, esses usuários só poderão fazer compras de teste.

Importante: Depois de publicar o aplicativo em um canal alfa ou beta, os testadores precisarão se inscrever no teste beta ou alfa do seu aplicativo usando o URL de inscrição fornecido antes de fazerem compras de teste.

Testar com respostas estáticas

Recomendamos testar antes a implementação do Faturamento no aplicativo usando respostas estáticas do Google Play. Isso permite verificar se o aplicativo está lidando com as respostas primárias do Google Play e se consegue verificar assinaturas corretamente. É possível fazer isso mesmo que o aplicativo não tenha sido publicado ainda.

Para testar sua implementação com respostas estáticas, faça uma solicitação de Faturamento no aplicativo usando um item especial que tenha um ID de produto reservado. Cada ID de produto reservado retorna uma resposta estática específica do Google Play. Não há transferência de dinheiro quando se faz solicitações de Faturamento no aplicativo com IDs de produto reservados. Além disso, não é possível especificar a forma de pagamento ao fazer uma solicitação de faturamento com um ID de produto reservado. A imagem 1 mostra o fluxo de finalização da compra do item reservado que tem android.test.purchased como ID de produto.

Imagem 1.Fluxo de compra do item reservado especial android.test.purchased.

Você não precisa listar os produtos reservados na lista de produtos do seu aplicativo. O Google Play já conhece os IDs de produto reservados. Além disso, você não precisa carregar o aplicativo no Developer Console para realizar testes de resposta estática com os IDs de produto reservados. Você pode simplesmente instalar o aplicativo em um dispositivo, acessar o dispositivo e fazer solicitações de pagamento usando os IDs de produto reservados.

Observação: Antigamente, era possível testar um aplicativo carregando uma versão de “esboço” não publicada. Esse recurso não está mais disponível. No entanto, você pode testar o aplicativo com respostas estáticas mesmo antes de carregá-lo na Google Play Store. Para saber mais, consulte Aplicativos de esboço não são mais compatíveis.

Há quatro IDs de produto reservados para testar respostas estáticas de Faturamento no aplicativo:

  • android.test.purchased

    Ao fazer uma solicitação de faturamento no aplicativo com esse ID de produto, o Google Play responde como se você tivesse comprado um item. A resposta inclui uma string JSON que contém informações de compra falsas (por exemplo, um ID de pedido falso). Em alguns casos, a string JSON é assinada e a resposta inclui a assinatura, assim você pode testar sua implementação de verificação de assinatura usando essas respostas.

  • android.test.canceled

    Ao fazer uma solicitação de faturamento no aplicativo com esse ID de produto, o Google Play responde como se a compra tivesse sido cancelada. Isso pode ocorrer ao encontrar um erro no processamento do pedido, como um cartão de crédito inválido ou quando você cancela o pedido de um usuário antes da cobrança.

  • android.test.refunded

    Ao fazer uma solicitação de faturamento no aplicativo com esse ID de produto, o Google Play responde como se a compra tivesse sido reembolsada. O serviço de faturamento do Google Play não pode iniciar reembolsos dentro do aplicativo. Você (o vendedor) deve iniciar o reembolso. Depois de processar uma solicitação de reembolso pela conta comercial do Google Payments, o Google Play enviará uma mensagem de reembolso ao aplicativo. Isso só ocorre quando o Google Payments notifica o Google Play de que ocorreu um reembolso. Para saber mais sobre reembolsos, consulte Gerenciar mensagens IN_APP_NOTIFY e Precificação de faturamento no aplicativo.

  • android.test.item_unavailable

    Ao fazer uma solicitação de faturamento no aplicativo com esse ID de produto, o Google Play responde como se o item sendo comprado não estivesse presente na lista de produtos do aplicativo.

Em alguns casos, os itens reservados podem retornar respostas estáticas assinadas, que permitem testar a verificação de assinatura do aplicativo. Os itens reservados só retornam respostas assinadas se o usuário que executa o aplicativo tiver uma conta de desenvolvedor ou teste.

Para fazer uma solicitação de faturamento no aplicativo com um ID de produto reservado, basta construir uma solicitação REQUEST_PURCHASE normal mas, em vez de usar um ID de produto real da lista de produtos do aplicativo, você deve usar um dos IDs de produto reservados.

Para testar o aplicativo usando os IDs de produto reservados, faça o seguinte:

  1. Instale o aplicativo em um dispositivo equipado com Android.

    Não é possível usar o emulador para testar o Faturamento no aplicativo: para tanto, você deve instalar o aplicativo em um dispositivo.

    Para saber como instalar um aplicativo, consulte Executar em um dispositivo.

  2. Acesse o dispositivo com sua conta de desenvolvedor.

    Você não precisa usar uma conta de teste se estiver testando apenas IDs de produto reservados.

  3. Verifique se o dispositivo está executando uma versão compatível do aplicativo do Google Play ou do aplicativo MyApps.

    Se o dispositivo tiver o Android 3.0, o Faturamento no aplicativo precisará da versão 5.0.12 (ou posterior) do aplicativo MyApps. Se o dispositivo tiver qualquer outra versão do Android, o Faturamento no aplicativo precisará da versão 2.3.4 (ou posterior) do aplicativo do Google Play. Para saber como verificar a versão do aplicativo do Google Play, consulte Atualizar Google Play.

  4. Execute o aplicativo e compre IDs de produto reservados.

Observação: Fazer solicitações de faturamento no aplicativo com os IDs de produto reservados modifica o sistema de produção usual do Google Play. Ao enviar uma solicitação de Faturamento no aplicativo para um ID de produto reservado, a qualidade do serviço não será comparável ao ambiente de produção.

Configurar para permitir compras de teste

Depois de finalizar os testes de resposta estática e confirmar que a verificação de assinatura está funcionando no aplicativo, você pode testar a implementação de Faturamento no aplicativo fazendo compras reais no aplicativo. Testar compras no aplicativo reais permite testar a experiência do Faturamento no aplicativo de ponta a ponta, inclusive as compras reais dentro do Google Play e o fluxo de finalização real por que os usuários passarão no aplicativo.

Observação: Você pode fazer testes de ponta a ponta do seu aplicativo publicando-o em um canal de distribuição alfa. Isso permite publicar o aplicativo na Google Play Store, mas limita a disponibilidade a apenas os testadores que você designar.

Para testar a implementação de Faturamento no aplicativo com compras no aplicativo reais, você precisará registrar pelo menos uma conta de teste no Google Play Developer Console. Você não pode usar uma conta de desenvolvedor para testar todo o processo de compra no aplicativo porque o Google Payments não permite comprar itens de si mesmo. Se você nunca configurou contas de teste, consulte Configurar contas de teste.

As contas de teste só poderão comprar um item da lista de produtos se o item estiver publicado.

Para testar a implementação de Faturamento no aplicativo com compras reais, faça o seguinte:

  1. Carregue o aplicativo no canal de distribuição alfa pelo Developer Console.

    Observação: Antigamente era possível testar um aplicativo carregando uma versão de “esboço” não publicada. Essa funcionalidade não está mais disponível. Agora, você deve publicá-lo nos canais de distribuição beta ou alfa. Para saber mais, consulte Aplicativos de esboço não são mais compatíveis.

  2. Adicione itens à lista de produtos do aplicativo.

    Certifique-se de publicar os itens (o aplicativo pode continuar não publicado). Consulte Criar uma lista de produtos para saber como fazer isso.

  3. Instale o aplicativo em um dispositivo equipado com Android.

    Não é possível usar o emulador para testar o Faturamento no aplicativo: para tanto, você deve instalar o aplicativo em um dispositivo.

    Para saber como instalar um aplicativo, consulte Executar em um dispositivo.

  4. Verifique se o dispositivo está executando uma versão compatível do aplicativo do Google Play ou do aplicativo MyApps.

    Se o dispositivo tiver o Android 3.0, o Faturamento no aplicativo precisará da versão 5.0.12 (ou posterior) do aplicativo MyApps. Se o dispositivo tiver qualquer outra versão do Android, o Faturamento no aplicativo precisará da versão 2.3.4 (ou posterior) do aplicativo do Google Play. Para saber como verificar a versão do aplicativo do Google Play, consulte Atualizar Google Play.

  5. Faça compras no aplicativo.

Observação: A única forma de mudar a conta principal de um dispositivo é fazer uma restauração de fábrica, não esquecendo de acessar antes sua conta principal.

Depois de terminar de testar a implementação de Faturamento no aplicativo, estará tudo pronto para você publicar seu aplicativo no Google Play. Você pode seguir as etapas normais de preparação, assinatura e publicação no Google Play.

Aplicativos de esboço não são mais compatíveis

Antigamente, era possível publicar uma versão de “esboço” do aplicativo para testá-lo. Esse recurso não está mais disponível. Em vez disso, há duas maneiras de testar como um aplicativo pré-lançamento está funcionando na Google Play Store:

  • Você pode publicar um aplicativo nos canais de distribuição alfa ou beta. Isso disponibiliza o aplicativo na Google Play Store, mas somente aos testadores que estiverem em uma “lista de permissões”.
  • Em alguns casos, você pode testar o recurso do Google Play com um aplicativo não publicado. Por exemplo, é possível testar a compatibilidade com faturamento no aplicativo de um aplicativo não publicado usando respostas estáticas, IDs de produto reservados especiais que sempre retornam um resultado específico (como “comprado” ou “reembolsado”).