Skip to main content
O entitlement do GitHub adiciona um cliente pagante como colaborador em um repositório privado. Você escolhe o nível de permissão (pull, push, triage, maintain ou admin). Dodo Payments envia o convite de colaborador e remove o colaborador quando a concessão é revogada.

O que é entregue

  • O cliente conecta sua conta do GitHub pelo Customer Portal. Isso vincula a conta do GitHub à compra.
  • Dodo Payments convida essa conta para o seu repositório no nível de permissão configurado. O cliente obtém acesso depois de aceitar o convite no GitHub. Se o cliente for o proprietário do repositório, nenhum convite será necessário.
  • O cancelamento, o reembolso ou uma revogação manual remove o colaborador e cancela qualquer convite pendente.
Os usos comuns incluem produtos com código disponível, templates pagos, repositórios de código de cursos e SDKs de cliente com acesso restrito.

Conectar GitHub

1

Open Entitlements

No dashboard do Dodo Payments, acesse Entitlements e clique em + para iniciar um novo entitlement.
2

Pick GitHub

Escolha GitHub Access como integração. Se o GitHub ainda não estiver conectado, clique em Connect GitHub.
Novo painel de entitlement solicitando ao comerciante para conectar o GitHub

Connect GitHub prompt before the install handoff.

O GitHub abre em uma nova aba. Faça login e instale o Dodo Payments GitHub App na organização ou conta de usuário que possui o repositório. Você pode conceder ao app acesso a All repositories ou Only select repositories. Se selecionar repositórios, inclua todos os repositórios que pretende restringir.
GitHub Install and Authorize page with All repositories and Only select repositories options

GitHub Install & Authorize page. Choose which repositories the app can manage.

Quando o GitHub redirecionar de volta, uma página de confirmação mostrará que a conta está conectada.
GitHub Access connected successfully confirmation page

Account connected. Return to the Dodo Payments dashboard to continue.

3

Pick a Repository and Permission

De volta ao dashboard, selecione o Repository ao qual o entitlement concede acesso e, em seguida, selecione o nível de Permission. O seletor de repositórios lista apenas os repositórios aos quais o GitHub App pode acessar. Insira um Name para o entitlement e clique em Create Entitlement.
Formulário de entitlement do GitHub com Acesso ao GitHub conectado, seletor de repositório, dropdown de permissão e campo de nome

Creating a GitHub entitlement. Pick the repository and the permission you want customers to receive.

4

Attach It to a Product

Associe o entitlement a qualquer produto. Os clientes que comprarem esse produto receberão um convite do GitHub depois de conectarem sua conta do GitHub.

Níveis de permissão

O entitlement usa as permissões padrão de repositório do GitHub:
Conceda o menor privilégio que atenda ao seu caso de uso. A maioria dos produtos de conteúdo pago precisa apenas de pull.

Fluxo do cliente

  1. O cliente conclui o checkout.
  2. Dodo Payments cria um grant com o status Pending. Dodo Payments tenta criar imediatamente uma URL de autorização do GitHub e a armazena em oauth_url. Se isso falhar, oauth_url permanece como null até que o cliente inicie o fluxo de aceitação.
  3. O e-mail de confirmação do pagamento lista o entitlement como Ação necessária e inclui um link para o Customer Portal. No portal, o cliente clica em Conectar e autoriza com o GitHub. Um link de autorização expira após 30 minutos, e o Customer Portal gera um novo quando o cliente retorna.
  4. Dodo Payments convida a conta do GitHub do cliente para o repositório com a permissão configurada. O grant muda para Delivered assim que o convite é criado. Se o GitHub rejeitar o convite, o grant não será entregue.
  5. Se a assinatura for cancelada, o pagamento for reembolsado ou o grant for revogado, Dodo Payments remove o cliente como colaborador e cancela qualquer convite pendente.

Configuração obrigatória

Criar via API

Webhooks

Os eventos padrão de webhooks entitlement_grant.* cobrem o fluxo do GitHub:
  • entitlement_grant.created é acionado com status: "Pending". oauth_url pode já conter a URL de autorização do GitHub. Se for null, ele será preenchido quando o cliente iniciar o fluxo de aceitação pelo Customer Portal.
  • entitlement_grant.delivered é acionado assim que o convite do colaborador é criado.
  • entitlement_grant.revoked é acionado quando o acesso é retirado. Se você desinstalar o GitHub App, Dodo Payments revoga os grants pendentes e entregues dessa instalação com revocation_reason: platform_external.
  • entitlement_grant.failed é acionado com error_code: "GRANT_ACCESS_FAILED" se Dodo Payments não conseguir adicionar o cliente ao repositório, por exemplo, porque o GitHub App perdeu o acesso a ele.

Solução de problemas

O GitHub App da Dodo Payments deve estar instalado na organização ou no usuário que possui o repositório. No formulário de entitlement, clique em Desconectar no cartão do GitHub e, em seguida, clique em Conectar GitHub para reinstalar o app e conceda a ele acesso aos repositórios que você deseja controlar.
A instalação do GitHub App não tem mais acesso ao repositório, ou o repositório foi renomeado ou transferido. Conceda novamente ao app acesso ao repositório, e a próxima nova concessão será bem-sucedida.
Os clientes aceitam o convite do GitHub pelas notificações do GitHub ou pelo link no e-mail de convite do GitHub. Até aceitarem, eles estarão convidados, mas não poderão clonar o repositório. A concessão ainda será Delivered no Dodo Payments, porque o convite é o que o Dodo Payments emite.
Última modificação em 26 de setembro de 2026