Skip to main content

Gerenciar novas compras e testes grátis

Quando um cliente adquire um plano pago, uma avaliação gratuita ou a versão gratuita do seu aplicativo GitHub Marketplace, você receberá o webhook do evento com a ação correspondente, iniciando assim o processo de compra.

Observação

Este artigo se aplica somente à publicação de aplicativos do GitHub Marketplace. Para saber mais sobre como publicar o GitHub Actions no GitHub Marketplace, confira Publicar ações no GitHub Marketplace.

Aviso

Se você oferece um GitHub App em GitHub Marketplace, seu aplicativo deverá identificar usuários seguindo o fluxo de autorização do OAuth. Você não precisa configurar OAuth app separadamente para dar suporte a este fluxo. Confira AUTOTITLE para obter mais informações.

Etapa 1. Compra inicial e evento de webhook

Antes de um cliente comprar seu aplicativo no GitHub Marketplace, ele seleciona um plano de listagem. O cliente também escolhe se deseja comprar o aplicativo a partir da sua conta pessoal ou a partir da conta de uma organização.

O cliente efetua a compra clicando em Concluir pedido e iniciar a instalação.

Em seguida, o GitHub envia o webhook com a ação ao seu aplicativo.

Leia os objetos a e b do webhook para determinar qual plano o cliente comprou, quando o ciclo de cobrança começa e quando o próximo ciclo de cobrança se inicia.

Se o aplicativo oferecer uma avaliação gratuita, leia o atributo por meio do webhook. Se o valor for , seu aplicativo precisará acompanhar a data de início da avaliação gratuita () e a data em que a avaliação gratuita termina (). Use a data para mostrar os dias restantes em um teste gratuito na UI do aplicativo. Faça isso em um banner ou na UI de cobrança. Para saber como lidar com cancelamentos antes do término de uma avaliação gratuita, confira AUTOTITLE. Confira AUTOTITLE para descobrir como fazer a transição de uma avaliação gratuita para um plano pago quando uma avaliação gratuita expirar.

Confira AUTOTITLE como um exemplo do payload do evento.

Etapa 2. Instalação

Se seu aplicativo é um GitHub App, o GitHub solicita ao cliente que selecione quais repositórios o aplicativo pode acessar quando comprá-lo. Em seguida, o GitHub instala o aplicativo na conta selecionada pelo cliente e concede acesso aos repositórios selecionados.

Neste ponto, se você especificar uma URL de configuração nas configurações do GitHub App, o GitHub redirecionará o cliente para essa URL. Se não especificar uma URL de configuração, você não conseguirá gerenciar as compras do seu GitHub App.

Observação

A Setup URL é descrita como opcional nas configurações do GitHub App, mas é um campo obrigatório se você deseja oferecer seu aplicativo no GitHub Marketplace. Para saber mais, confira AUTOTITLE.

Se seu aplicativo for um OAuth app, o GitHub não o instalará em lugar algum. Em vez disso, o GitHub redireciona o cliente para a URL de instalação que você especificou na listagem do GitHub Marketplace.

Quando um cliente compra um OAuth app, o GitHub o redireciona para a URL escolhida por você (URL de Configuração ou URL de Instalação) e a URL inclui o plano de preços selecionado pelo cliente como um parâmetro de consulta: .

Etapa 3. Autorização

Quando um cliente compra seu aplicativo, você deve enviar o cliente por meio do fluxo de autorização OAuth:

  • Se seu aplicativo for um GitHub App, inicie o fluxo de autorização assim que o GitHub redirecionar o cliente para a URL de configuração. Siga as etapas em AUTOTITLE.

  • Se seu aplicativo for um OAuth app, inicie o fluxo de autorização assim que GitHub redirecionar o cliente para a URL de instalação. Siga as etapas em AUTOTITLE.

Para qualquer tipo de aplicativo, a primeira etapa é redirecionar o cliente para .

Depois que o cliente concluir a autorização, seu aplicativo receberá um token de acesso do OAuth para o cliente. Você prrecisará desse token para a próxima etapa.

Observação

Ao autorizar um cliente em uma avaliação gratuita, permita a ele o mesmo acesso que ele terá no plano pago. Você irá transferi-los para o plano pago após o término do período de teste.

Etapa 4. Provisionar as contas dos clientes

Seu aplicativo deve fornecer uma conta de cliente para todas as novas compras. Usando o token de acesso que você recebeu para o cliente na Etapa 3: Autorização, chame o endpoint. A resposta incluirá as informações do cliente e mostrará se ele está em uma avaliação gratuita (). Use estas informações para concluir a configuração e o provisionamento.

Observação

Na versão atual do GitHub Marketplace, é possível que um cliente compre seu aplicativo por meio do GitHub Marketplace quando ele já tem uma conta comprada no site do seu aplicativo. Se você descobrir que já tem uma conta configurada para o cliente que comprou seu aplicativo, relate as compras "duplas" para o Suporte do GitHub.

Se a compra for para uma organização e por usuário, você poderá solicitar que o cliente escolha quais integrantes da organização terão acesso ao aplicativo comprado.

É possível personalizar a forma como os integrantes da organização recebem acesso ao seu aplicativo. Veja algumas sugestões:

Preço fixo: se a compra for feita por uma organização com preço fixo, seu aplicativo poderá obter todos os membros da organização por meio da API e solicitar ao administrador da organização que escolha os membros que serão usuários pagantes no lado do integrador.

Preço por unidade: um método de provisionamento de assentos por unidade é permitir que os usuários ocupem um assento enquanto fazem login no aplicativo. Quando o cliente atingir o limite de contagem de assentos, seu aplicativo poderá alertar o usuário de que ele precisa atualizar o plano através do GitHub Marketplace.