Skip to main content
La autorización de GitHub añade a un cliente que ha realizado un pago como colaborador en un repositorio privado. Tú eliges el nivel de permiso (pull, push, triage, maintain o admin). Dodo Payments envía la invitación de colaborador y elimina al colaborador cuando se revoca la concesión.

Qué se entrega

  • El cliente conecta su cuenta de GitHub desde el Customer Portal. Esto vincula su cuenta de GitHub con la compra.
  • Dodo Payments invita a esa cuenta a tu repositorio con el nivel de permiso configurado. El cliente obtiene acceso después de aceptar la invitación en GitHub. Si el cliente es propietario del repositorio, no se necesita ninguna invitación.
  • La cancelación, el reembolso o una revocación manual elimina al colaborador y cancela cualquier invitación pendiente.
Entre los usos habituales se incluyen productos con código disponible, plantillas de pago, repositorios de código de cursos y SDK de cliente con acceso restringido.

Conectar GitHub

1

Open Entitlements

En el panel de Dodo Payments, ve a Entitlements y haz clic en + para comenzar un nuevo entitlement.
2

Pick GitHub

Elige GitHub Access como integración. Si GitHub aún no está conectado, haz clic en Connect GitHub.
Nuevo panel de derechos solicitando al comerciante que conecte GitHub

Connect GitHub prompt before the install handoff.

GitHub se abre en una pestaña nueva. Inicia sesión e instala Dodo Payments GitHub App en la organización o cuenta de usuario propietaria del repositorio. Puedes conceder acceso a All repositories o Only select repositories. Si seleccionas repositorios, incluye todos los repositorios cuyo acceso quieras 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.

Cuando GitHub redirige de vuelta, una página de confirmación muestra que la cuenta 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 vuelta en el panel, selecciona el Repository al que el entitlement concede acceso y, después, selecciona el nivel de Permission. El selector de repositorios solo muestra los repositorios a los que GitHub App puede acceder. Introduce un Name para el entitlement y haz clic en Create Entitlement.
Formulario de derechos de GitHub con acceso a GitHub conectado, selector de repositorios, menú desplegable de permisos y campo de nombre

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

4

Attach It to a Product

Asocia el entitlement a cualquier producto. Los clientes que compren ese producto recibirán una invitación de GitHub después de conectar su cuenta de GitHub.

Niveles de permiso

El entitlement utiliza los permisos de repositorio estándar de GitHub:
Concede el least privilege que se ajuste a tu caso de uso. La mayoría de los productos de contenido de pago solo necesitan pull.

Flujo del cliente

  1. El cliente completa el checkout.
  2. Dodo Payments crea una concesión con el estado Pending. Dodo Payments intenta crear de inmediato una URL de autorización de GitHub y la almacena en oauth_url. Si esto falla, oauth_url permanece en null hasta que el cliente inicia el flujo de aceptación.
  3. El correo electrónico de confirmación del pago muestra la concesión como Acción requerida y enlaza al Customer Portal. En el portal, el cliente hace clic en Conectar y autoriza con GitHub. Un enlace de autorización caduca después de 30 minutos, y el Customer Portal genera uno nuevo cuando el cliente regresa.
  4. Dodo Payments invita la cuenta de GitHub del cliente al repositorio con el permiso configurado. La concesión pasa a Delivered una vez creada la invitación. Si GitHub rechaza la invitación, la concesión no se entrega.
  5. Si se cancela la suscripción, se reembolsa el pago o se revoca la concesión, Dodo Payments elimina al cliente como colaborador y cancela cualquier invitación pendiente.

Configuración necesaria

Crear vía API

Webhooks

Los eventos de webhook estándar entitlement_grant.* cubren el flujo de GitHub:
  • entitlement_grant.created se activa con status: "Pending". oauth_url puede contener ya la URL de autorización de GitHub. Si es null, se completa una vez que el cliente inicia el flujo de aceptación desde el Customer Portal.
  • entitlement_grant.delivered se activa una vez creada la invitación al colaborador.
  • entitlement_grant.revoked se activa cuando se retira el acceso. Si desinstalas la GitHub App, Dodo Payments revoca las concesiones pendientes y entregadas de esa instalación con revocation_reason: platform_external.
  • entitlement_grant.failed se activa con error_code: "GRANT_ACCESS_FAILED" si Dodo Payments no puede añadir al cliente al repositorio, por ejemplo, porque la GitHub App perdió el acceso a este.

Solución de problemas

La GitHub App de Dodo Payments debe estar instalada en la organización o cuenta de usuario propietaria del repositorio. En el formulario de la concesión, haz clic en Desconectar en la tarjeta de GitHub y, a continuación, haz clic en Conectar GitHub para reinstalar la app y concederle acceso a los repositorios que quieras restringir.
La instalación de GitHub App ya no tiene acceso al repositorio, o el repositorio cambió de nombre o se transfirió. Vuelve a conceder acceso de la aplicación al repositorio y la siguiente nueva concesión se realizará correctamente.
Los clientes aceptan la invitación de GitHub desde sus notificaciones de GitHub o desde el enlace del correo de invitación de GitHub. Hasta que la acepten, figuran como invitados, pero no pueden clonar el repositorio. La concesión sigue siendo Delivered en Dodo Payments, porque la invitación es lo que emite Dodo Payments.
Última modificación el 26 de septiembre de 2026