Núcleo abierto · AGPL-3.0
RepoAccess
Vende acceso a un repositorio privado de GitHub en tu propia infraestructura, con el proveedor de pagos que ya usas.
Un comprador paga y recibe una invitación al equipo de GitHub que aloja tu repositorio privado. Un reembolso o un contracargo le retira ese acceso. Ningún colaborador que añadir a mano después de cada venta, ninguna lista que cuadrar después de cada reembolso. Funciona como un único Cloudflare Worker en el plan gratuito: sin servidor, sin suscripción SaaS, sin comisión por venta ni por contracargo, y sin un "Login with GitHub" delante de un comprador que acaba de pagarte. La propia invitación de GitHub es la verificación de identidad.
npm install repoaccess-core El núcleo es gratuito y de código abierto bajo AGPL-3.0. Si vendes con Stripe, nunca tienes que pagarme nada.
Por lo que pasa realmente tu comprador
Tres pasos, desde el punto de vista de quien te compra.
- 01
Paga donde ya vendes
El checkout se queda con tu proveedor. No mueves tu tienda, ni tus precios, ni tu cuenta de cobro para que esto funcione.
- 02
Indica su cuenta de GitHub
Donde el proveedor admite un campo personalizado, escribe su nombre de usuario en el checkout y recibe el acceso al momento. Donde no, recibe un enlace de reclamación de un solo uso y confirma allí el identificador antes de que ocurra nada.
- 03
Recibe la invitación al repositorio
Una invitación al equipo de GitHub que aloja tu repositorio privado, aceptada desde su correo. Si el pago se reembolsa o se contracarga más tarde, el acceso se va con él, estuvieras mirando o no.
Dos formas de ponerlo en marcha
Elige la que encaje con la forma en que ya cobras. Todo lo que hay debajo de las dos tarjetas vale para las dos.
RepoAccess Core
Gratuito y de código abierto bajo AGPL-3.0: el adaptador de Stripe, la cadena completa de concesión y revocación, y la página de reclamación, autoalojado en tu propia cuenta de Cloudflare.
Coger el núcleo en GitHubRepoAccess Pro
Todos los demás proveedores, las opciones de Merchant of Record, la tienda dentro del bot de Telegram, la página de checkout de Paddle servida por tu worker, y soporte mientras los proveedores siguen moviéndose.
Qué añade ProLos dos son el mismo motor. La división es cuál encaja con la forma en que ya vendes.
Un asistente de instalación que ejecuta tu agente de código
Ejecuta /repoaccess-setup en Claude Code, OpenCode o cualquier agente de código (el repositorio lleva un AGENTS.md para los que necesitan que se lo expliquen) y el asistente te lleva hasta un worker desplegado paso a paso, verificando cada uno: tu organización de GitHub y los ajustes de equipo que mantienen tus repositorios privados, el producto y el webhook de tu proveedor, los secretos, el despliegue, y al final una compra de prueba real de extremo a extremo.
Tu agente de código lo configura sin llegar a ver tus secretos
Las reglas que lo garantizan están commiteadas en el repositorio, así que puedes revisarlas antes de empezar. El asistente es un programa y no unas instrucciones que el agente improvisa: el agente ejecuta un comando, muestra lo que el programa imprime y devuelve tu respuesta, mientras que cada archivo que guarda un secreto se escribe dentro de un proceso hijo que él nunca lee. Las lecturas del agente sobre esos archivos están denegadas por nombre, y un test incluido en el repositorio planta secretos falsos y comprueba que nunca llegan al agente.
Cuenta con una hora aproximadamente si partes de cero, incluyendo la cuenta de Cloudflare, la organización de GitHub y la cuenta desechable que hace de comprador de prueba. Mucho menos si ya tienes todo eso. El asistente es una comodidad y no un requisito: una guía escrita recorre el mismo camino a mano.
El núcleo es gratuito, y es el motor entero
RepoAccess Core está publicado en npm como repoaccess-core bajo AGPL-3.0. No es una prueba ni una versión recortada. Es el motor de concesión y revocación que yo mismo tengo en producción, con el adaptador de Stripe incluido.
- Aloja tú mismo un único Cloudflare Worker, con el adaptador de Stripe incluido.
- La cadena completa de concesión y revocación: un pago concede el acceso, un reembolso o un contracargo lo retira.
- La página de reclamación, para proveedores que no pueden llevar un campo personalizado en el checkout.
- Configuración como código tipado: un objeto de configuración que tu editor comprueba, en vez de JSON escapado metido en variables de entorno.
Si vendes con Stripe, no te importa mantenerlo tú mismo y quieres leer cada línea antes de confiarle tus compradores, coge Core y párate aquí.
¿Cuál necesitas?
La división depende de cómo ya vendes. Pro no es el producto de verdad con Core de aperitivo.
RepoAccess Core, gratuito y de código abierto (AGPL-3.0)
- - Adaptador de Stripe incluido.
- - El motor completo de concesión y revocación y la página de reclamación.
- - Autoalojado en tu propia cuenta de Cloudflare.
RepoAccess Pro
- - Todos los demás proveedores de pago: Paddle, Lemon Squeezy, Gumroad, Razorpay y Telegram Stars, con el adaptador de Stripe de Core todavía en la caja.
- - Opciones de Merchant of Record (Paddle, Lemon Squeezy) si prefieres no ocuparte de impuestos y cumplimiento.
- - Plantillas personalizables para la página de reclamación.
- - Los cambios de los proveedores se siguen y se parchean, y hay un responsable cuando algo se rompe.
Stripe + mantenerlo tú mismo → Core. Cualquier otro proveedor, o Merchant of Record, o si lo quieres mantenido y con soporte → Pro.
Qué pagas en Pro
El proveedor que ya usas, incluidos los que gestionan impuestos
Stripe es gratuito en Core. Con Pro vendes acceso a repositorios de GitHub con Paddle, Lemon Squeezy, Gumroad, Razorpay o Telegram Stars, incluidas las opciones de Merchant of Record que te quitan de encima los impuestos y el cumplimiento. Si Stripe no llega a tu país, esta es la parte que importa.
El bot de Telegram es una tienda, no un adaptador
Lista tus productos, le pide al comprador su identificador de GitHub y comprueba que la cuenta existe antes de cobrarle nada, emite la factura en Stars y concede el acceso al pagarse. Tienes un botón de reembolso que solo ves tú en tu propio chat, estadísticas de ventas y de saldo en Stars, y un puente de soporte en los dos sentidos que lleva el mensaje de un comprador hasta ti y tu respuesta de vuelta. Tu cuenta personal no aparece nunca ante el comprador.
Una página de checkout de Paddle que sirve tu propio worker
Vende a través de un Merchant of Record sin tener una web siquiera. Esa página existe porque Paddle exige un dominio aprobado antes de aceptar tu dinero, y porque su propio checkout alojado no tiene ningún campo donde un comprador pueda escribir un identificador de GitHub. Tu worker resuelve las dos cosas en tu propio dominio.
Otro sigue los cambios de los proveedores
Los proveedores de pago cambian sus APIs y sus payloads de webhook según su calendario, no el tuyo. Paddle informa de un reembolso completo como parcial. Lemon Squeezy emite eventos de disputa que no documenta. Razorpay serializa un campo vacío como array donde su documentación promete un objeto. Stripe rota los secretos de firma y manda dos a la vez. Cada uno de esos se encontró con dinero real de por medio, y Pro es donde se parchea el siguiente antes de que un comprador te diga que pagó y no recibió nada.
Las pruebas caras ya están hechas
Verificar un flujo de pago a acceso contra un proveedor real lleva días: firmas de webhook, eventos de reembolso y disputa, y la cadena de concesión y revocación de GitHub que hay detrás. El sumidero de tiempo es la prueba en vivo, no el código. Cada adaptador se entrega verificado contra proveedores reales, más una comprobación sintética de extremo a extremo, para que esos días no sean tuyos.
Un servicio integrable, documentado hasta que un agente puede montarlo
Otro Worker de tu propia cuenta de Cloudflare llama a grant, revoke y claim directamente por un service binding: sin URL pública, sin firma, sin salto HTTP, porque el binding en sí mismo es la autorización. La guía de RPC está escrita para que se la pases a tu agente de código, que la conecta a tu sitio por ti. La prueba es la página en la que estás. Todo lo que recibe un comprador después de pagar aquí, la comprobación del identificador, el formulario de reclamación y el estado que mira mientras se concede el acceso, corre por exactamente ese binding, y esa integración la construyó un agente de código a partir de la guía.
Tu marca en cada página que ve el comprador
El worker renderiza él mismo toda la cadena posterior al pago: la página de reclamación donde el comprador escribe su identificador, la página de espera mientras se concede el acceso, la de acceso concedido, la de error, tus páginas legales y el checkout de Paddle. Nada de eso es una pantalla ajena con el logo de otro.
Una selección de los presets incluidos, en claro y oscuro. Pantallas mostradas: la página de reclamación y la de acceso concedido.
Pro incluye un registro de presets diseñados. Cada uno lleva una paleta clara y una oscura, con el contraste comprobado según WCAG AA, y se apoya en pilas de fuentes del sistema, así que esas páginas no cargan ninguna webfont y aparecen al instante en cualquier sitio. Eliges un preset en un solo archivo y sobrescribes el token que quieras. Por defecto sigue al navegador del comprador, y un solo valor de configuración lo fija en claro u oscuro si prefieres decidirlo tú.
Cómo lo recibes, y qué pasa después
Pro se entrega con RepoAccess. Lo vendo igual que tú estás a punto de vender.
- Autoalojado en tu cuenta de Cloudflare
- Yo entrego el código y tú lo despliegas. Nadie hace push a tu infraestructura, y no hay ningún servicio mío entre tu comprador y su invitación.
- Entregado como acceso a un repositorio privado
- Pagas, recibes la invitación al repositorio Pro, lo clonas, añades tu configuración y tus secretos, y despliegas. La entrega que compras es la entrega que recibes.
- Pago único, doce meses de actualizaciones y soporte
- Aplicar una actualización es un git pull y volver a desplegar en tu propia cuenta. Tu configuración y tus secretos son tuyos y no se tocan nunca. La mayoría de las actualizaciones son correcciones de proveedores que habrías tenido que perseguir tú.
- Déjalo caducar y no se rompe nada
- Si no renuevas, la versión que tienes sigue funcionando. Tu clon y tu worker desplegado quedan intactos, y tu producto no se cae porque se haya caído una renovación. Dejas de recibir actualizaciones nuevas hasta que renueves, y renovar las reanuda.
No te quedas a solas con el código
Lo que viene junto al código, porque el código es la mitad fácil.
- Una guía de instalación por proveedor
- Las seis. Cada una recorre el panel de su proveedor clic a clic, en el orden que provoca menos idas y venidas, y termina con una compra de prueba real que haces tú.
- Notas de referencia sobre lo que hace realmente cada proveedor
- Qué firma, byte a byte. Cuáles de sus eventos significan pagado, reembolsado y contracargado. El campo que sobrevive desde el pedido hasta el reembolso. Y dónde se equivoca la documentación del propio proveedor. Existen porque cada uno de estos proveedores me sorprendió al menos una vez, y la mayoría de esas sorpresas solo aparecen cuando se mueve dinero de verdad. Cada nota registra la fecha en que se revisó por última vez.
- La guía de RPC, si quieres que tu propia web lleve el mando
- El binding, los seis métodos que expone, dos flujos de extremo a extremo escritos enteros, y la página de reclamación que alojas tú. Es independiente del proveedor: la superficie RPC no sabe qué proveedor de pagos cobró el dinero, así que se lee igual vendas por el que vendas.
- Hacer tuyas las páginas del comprador
- El registro de presets, los tokens que deriva cada preset, hasta dónde llega una sobrescritura antes de que estés escribiendo CSS propio, y dónde van tu logo y tu favicon.
- Añadir un proveedor del que nunca he oído hablar
- Si el tuyo es un procesador regional poco conocido, o el sistema de facturación interno de tu empresa, AGENTS.md es la receta: el contrato que tiene que cumplir un adaptador, tres ejemplos resueltos y las notas por proveedor que hay detrás. Está escrito para que un agente de código pueda seguirlo sin ayuda.
El asistente de instalación tiene su propio documento que explica exactamente qué hace en tu nombre, y cada versión queda en un CHANGELOG que dice si la actualización toca algo que hayas configurado.
Preguntas que hacen los compradores antes de pagar
- ¿Cómo sabes que el nombre de usuario de GitHub del comprador es realmente suyo?
- Cada invitación está pagada. Una invitación no puede existir sin una compra completada, así que no hay nada que acumular ni nadie de quien defenderse. Lo que queda es un comprador que escribe mal su propio identificador, una vez, a su propio coste, y eso convierte esto en una cuestión de exactitud de entrada y no de control de acceso. Una cuenta, una compra, y puedes revocarla. En el modo de reclamación por defecto, el comprador escribe el identificador en tu propia página y lo confirma antes de que se conceda nada.
- ¿Qué pasa con un reembolso o un contracargo?
- El acceso se revoca automáticamente. Conceder y revocar es todo el trabajo del motor, así que no hay ninguna lista que mantener al día con tu proveedor de pagos ni nada que recordar el día que llega una disputa.
- ¿Los compradores tienen que iniciar sesión con GitHub?
- No. La entrega es una invitación al equipo de GitHub enviada al identificador que te dan, y la aceptan desde su correo. No tienes que operar ninguna app de OAuth, y no aparece ninguna petición de autorización delante de alguien que acaba de pagarte.
- ¿Qué pasa después de doce meses?
- Aproximadamente una semana antes de que terminen tus doce meses puedes renovar para que sigan las actualizaciones y el soporte. Si no lo haces, la versión que tienes sigue funcionando, tu clon y tu worker desplegado quedan intactos, y simplemente dejas de recibir actualizaciones nuevas hasta que renueves. Renovar cuesta una fracción de lo que pagaste la primera vez: es una cuota de mantenimiento, no una segunda compra.
- ¿No puedo construirme esto yo mismo en una tarde?
- Sí, y para un solo proveedor probablemente puedas. Un adaptador de webhook contra Stripe es el trabajo de una tarde, y justo por eso Core es gratuito y de código abierto: nadie debería pagarme por esa tarde. Lo que vende Pro es lo que esa tarde no compra. Los casos límite verificados contra proveedores reales, reembolsos, disputas, webhooks reenviados y cambios de firma. Todos los proveedores más allá de Stripe, incluidas las opciones de Merchant of Record. Y alguien siguiendo los cambios de los proveedores durante doce meses, para que la primera señal de uno no sea un comprador que pagó y no recibió nada. La tarde es barata. Mantenerlo funcionando durante un año es la parte que cuesta, y comprar eso sale más barato que mantenerlo.
- ¿Qué quita exactamente un reembolso?
- El producto que se reembolsó, no al comprador. El worker lo saca de los equipos asignados a ese producto y cancela cualquier invitación que siga en camino, y después reconcilia su pertenencia a la organización contra el estado real de GitHub, no contra sus propios registros. Así que un comprador que tiene A, compra B y reembolsa B pierde B y conserva A. Una cosa conviene saberla antes de que se entere tu bandeja de entrada: a un comprador que se queda sin ningún equipo GitHub le manda además el correo de expulsión de la organización, que se lee como un baneo y no lo es. Un comprador que conserva otra compra se queda en el equipo de esa compra y no lo recibe nunca.
- ¿Cuánto cuesta tenerlo funcionando?
- Un pago único por la licencia y ninguna comisión sobre las ventas. El único coste corriente es el de Cloudflare, y se gasta en el momento en que alguien te paga. En el plan gratuito eso sale a unas 600 ventas al día cuando el identificador llega con el pago, o 250 al día cuando el comprador lo escribe en una página de reclamación. A partir de ahí, el plan Workers Paid cuesta 5 $ al mes y aguanta decenas de miles de ventas al mes antes de que el uso le sume nada. Le pagas a Cloudflare, nunca a mí.
- ¿Y si lo compro y no me encaja?
- Escríbeme a hello@edgekits.dev dentro de los 7 días siguientes a tu compra explicando brevemente el motivo, y lo miro caso por caso. Un reembolso puede denegarse si el acceso ya se concedió y se ha usado de forma extensa, o si la solicitud es abusiva o fraudulenta. Y conviene decirlo en voz alta: un reembolso también revoca el acceso al repositorio automáticamente, porque hacer cumplir los reembolsos es literalmente lo que hace este producto. No se te pide que confíes en una promesa que yo tendría que cumplir a mano.
Consigue RepoAccess Pro
$1 USD
El precio no incluye impuestos cuando corresponda.
Pago único, doce meses de actualizaciones y soporte, autoalojado en tu propia cuenta de Cloudflare.
Lo que necesitas antes de comprar
Para que nada te sorprenda después de pagar.
- Una cuenta de Cloudflare. El plan gratuito basta para empezar.
- Una organización de GitHub que sea dueña de los repositorios que vendes. Las cuentas personales no tienen equipos, así que hace falta una organización, y con una gratuita vale.
- Node y git en tu máquina.
- Una cuenta en al menos un proveedor de pagos compatible.
También puedes pagar con Telegram Stars.
Los reembolsos los gestiono yo personalmente, caso por caso, dentro de los 7 días siguientes a la compra. Leer la política de reembolsos
¿Dudas antes de comprar? Escríbeme a hello@edgekits.dev