Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

O GitHub entitlement 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) e o Dodo Payments gerencia o convite, rastreamento de aceitação e remoção em caso de cancelamento.

O que é entregue

  • O cliente é convidado ao seu repositório do GitHub por meio de um fluxo OAuth que vincula a conta do GitHub à compra.
  • Uma vez aceito, o GitHub concede a eles acesso de colaborador no nível de permissão configurado.
  • Cancelamento, reembolso ou revogação manual removem o colaborador.
Usos comuns incluem produtos com código disponível, modelos pagos, repositórios de código de cursos e SDKs exclusivos para clientes.

Conectar GitHub

1

Open Entitlements

No seu painel do Dodo Payments, vá para Entitlements e clique em + para começar um novo entitlement.
2

Pick GitHub

Escolha Acesso ao GitHub como a integração. Se o GitHub ainda não estiver conectado, você será solicitado a Conectar GitHub.
Novo painel de entitlement solicitando ao comerciante para conectar o GitHub
Ao clicar, abre o GitHub em uma nova aba. Faça login, então instale o Dodo Payments GitHub App na organização ou conta de usuário que possui o repositório. Você pode conceder acesso a todos os repositórios ou apenas aos que pretende restringir.
Página de Instalação e Autorização do GitHub com opções para Todos os repositórios e Apenas repositórios selecionados
Quando o GitHub redirecionar de volta, você verá uma confirmação de que a conta está conectada.
Página de confirmação de conexão bem-sucedida do Acesso ao GitHub
3

Pick a repository and permission

De volta ao painel, escolha o repositório que o entitlement deve conceder acesso e selecione o nível de permissão. O seletor de repositórios apenas mostra os repositórios que o GitHub App tem acesso. Dê um nome ao entitlement e clique em Criar Entitlement.
Formulário de entitlement do GitHub com Acesso ao GitHub conectado, seletor de repositório, dropdown de permissão e campo de nome
4

Save the entitlement

Salve e anexe o entitlement a qualquer produto. Clientes que comprarem esse produto recebem um convite do GitHub na entrega.

Níveis de permissão

As permissões padrão do repositório GitHub se aplicam:
PermissãoMelhor para
pullAcesso somente leitura. Os clientes podem clonar, buscar e visualizar o repositório.
triageAcesso de leitura mais a possibilidade de gerenciar problemas e pull requests.
pushAcesso de leitura + escrita. Os clientes podem enviar branches e abrir pull requests.
maintainAcesso para enviar mais o gerenciamento de configurações do repositório (exceto as sensíveis).
adminControle total do repositório. Use com cautela.
Conceda o mínimo privilégio que atenda ao seu caso de uso. A maioria dos cenários de conteúdo pago só precisa de pull.

Fluxo do cliente

  1. O cliente conclui o checkout.
  2. O Dodo Payments cria uma concessão em status pending com um oauth_url para o cliente vincular sua conta do GitHub.
  3. O cliente autoriza através do link no e-mail ou portal do cliente.
  4. O Dodo Payments convida a conta do GitHub do cliente para o repositório na permissão configurada. A concessão muda para delivered assim que o convite é criado.
  5. Se a assinatura for cancelada, reembolsada ou revogada, o cliente é removido como colaborador.

Configuração necessária

CampoObrigatórioDescrição
target_idSimO repositório para convidar o cliente. O seletor de repositório do painel preenche isso para você.
permissionSimUm dos pull, push, triage, maintain, admin.

Criar via API

const entitlement = await client.entitlements.create({
  name: 'Code Share Repository',
  integration_type: 'github',
  integration_config: {
    target_id: 'acme/private-sdk',
    permission: 'pull',
  },
});

Webhooks

Os eventos padrão de webhooks entitlement_grant.* cobrem o fluxo do GitHub:
  • entitlement_grant.created inclui o oauth_url para a autorização do GitHub.
  • entitlement_grant.delivered dispara uma vez que o convite de colaborador é criado.
  • entitlement_grant.failed dispara com error_code: "github_permission_denied" (ou similar) se o GitHub App perder o acesso ao repositório.

Solução de problemas

O Dodo Payments GitHub App deve estar instalado na organização ou usuário que possui o repositório. Abra Entitlements → Integrações → GitHub e reinstale o app, garantindo acesso aos repositórios relevantes.
A instalação do GitHub App não tem mais acesso ao repositório, ou o repositório foi renomeado/transferido. Re-conceda acesso ao app e a próxima concessão será bem-sucedida.
Os clientes devem aceitar o convite do GitHub na página de notificações ou clicando no link em seu e-mail. Até que aceitem, permanecem “convidados” mas não podem clonar o repositório. A concessão ainda é delivered na perspectiva do Dodo Payments; o convite é o que emitimos.
Last modified on May 14, 2026