TODOS LOS SISTEMAS FUNCIONAN 14 REGIONES · ESCUDO DE 1.2 TBPS RECARGAR CON BTC · XMR · LTC · ETH · USDT +3 MONEDAS

TUTORIALES

Cómo aceptar pagos en Bitcoin tú mismo con BTCPay Server

11 min de lectura

Cómo aceptar pagos en Bitcoin tú mismo con BTCPay Server

Todo procesador de pagos externo es una empresa que puede congelarte la cuenta. Eso no es una hipótesis para nadie que cobre en Bitcoin: los grandes procesadores añadieron hace años verificación de identidad, umbrales de pago y reglas de liquidación, y un comerciante que falla en una de esas comprobaciones suele enterarse con el dinero ya en camino. BTCPay Server existe exactamente por eso. Es software libre y de código abierto que convierte un servidor que controlas en tu propio sistema de cobro — facturas, una pantalla de punto de venta, plugins de tienda, Lightning — sin ninguna empresa en medio, sin comisión y sin cuenta que perder. Instalarlo es de verdad cuestión de una tarde. Lo que decide si el resultado es bueno es la máquina que hay debajo, y el puñado de detalles que una instalación por defecto deja silenciosamente señalando hacia ti.

Lo que BTCPay Server realmente reemplaza

Un procesador externo se sitúa entre tu cliente y tu monedero. Genera la dirección, vigila la cadena, convierte el importe, retiene los fondos durante algún periodo y finalmente te los abona. Cada uno de esos pasos es algo que aprende sobre ti, y un punto en el que puede negarte el servicio. BTCPay hace el mismo trabajo sobre hardware que tú alquilas, y la diferencia en lo que llega a saber es total.

  • Los pagos llegan directamente a tu propio monedero. Le das a BTCPay una clave pública extendida, deriva una dirección nueva por cada factura y la vigila — nunca guarda una clave privada para los pagos on-chain y no puede mover ni un satoshi.
  • No hay comisión ni cuenta. El software es de código abierto, lo ejecutas tú mismo, y no hay nada que solicitar ni nada de lo que te puedan suspender.
  • Se encarga de las partes tediosas de construir: la caducidad de las facturas, la conversión de tasas en vivo, los pagos de menos y de más, los pagos parciales, los reembolsos y un recibo que el cliente puede verificar de forma independiente.
  • Incluye las interfaces que la mayoría necesita — una pantalla de punto de venta, botones de pago, una página de crowdfunding, plugins para las plataformas de comercio electrónico habituales — y una API completa si lo estás conectando a tu propio software.
  • Lightning viene incluido en el mismo despliegue si lo quieres, que es lo que hace viables los pagos por debajo de unos pocos dólares.

Vale la pena dejar claro el límite. BTCPay no convierte Bitcoin en tu moneda local, y no elimina el exchange ni el banco si ahí es donde el dinero tiene que acabar. Lo que elimina es el procesador — el intermediario que se quedaba con una parte, retenía tus fondos entre medias y exigía tu identidad para hacerlo. Lo que obtienes a cambio tiene la misma forma que un sitio web que alojas tú mismo: más control, y el trabajo que viene con él.

Te conviertes en el procesador de pagos

Ese trabajo es el coste honesto de autoalojar, y es mucho mejor entenderlo antes de instalar que después. Nadie vigila tu tiempo de actividad, nadie restaura tu copia de seguridad, y no hay nadie al otro lado de una línea de soporte en el momento en que un cliente insiste en que ha pagado y tú no lo ves por ninguna parte.

  • El tiempo de actividad es cosa tuya. No se puede crear una factura mientras el servidor está caído, así que un sistema de cobro que debe funcionar siempre necesita una máquina que alguien vigile de verdad.
  • Las copias de seguridad son cosa tuya. Perder el servidor es superable; perder el descriptor del monedero o el estado de los canales Lightning no lo es.
  • La custodia de las claves se divide en dos. Los fondos on-chain están en un monedero que BTCPay solo vigila, que es la disposición segura. Los fondos de Lightning están en un monedero caliente en el propio servidor, que no lo es — trata ese saldo como capital operativo, nunca como ahorros.
  • Las disputas no tienen árbitro. No hay contracargos, que es en gran medida el objetivo, pero también significa que cada reembolso es una decisión que tomas tú y una transacción que envías tú.
  • Las actualizaciones son cosa tuya. Debajo de la interfaz amigable hay una pila de contenedores con un nodo de Bitcoin dentro, y necesita la misma disciplina de mantenimiento que cualquier otra cosa que dejes en marcha en una IP pública.

Nada de eso es pesado. Son unos minutos al mes una vez que la cosa está en marcha, más una tarde cuidadosa al principio. Simplemente no es cero, y la comisión de un procesador en parte compraba exactamente esto.

Dimensionar la máquina: el nodo que hay debajo lo decide todo

BTCPay en sí es una aplicación ligera. El nodo de Bitcoin contra el que corre no lo es, y casi todos los errores de dimensionamiento aquí vienen de presupuestar para la aplicación web en lugar de para la cadena que hay debajo. Un despliegue estándar levanta Bitcoin Core, un indexador que rastrea tus monederos, una base de datos, un proxy inverso y la aplicación — y es Core quien exige el disco, la memoria y la paciencia.

  • El almacenamiento es la decisión que determina tu plan. Una cadena sin podar supera hoy los 750 GB y crece aproximadamente 7 GB al mes. El despliegue incluye ajustes preestablecidos de ahorro de espacio que en su lugar limitan los datos de bloques a unos 100, 50 o 25 GB, y cada uno de ellos sigue siendo un nodo completo real que verifica todas las reglas por sí mismo.
  • El podado no acorta la primera sincronización. Core descarga y comprueba todos los bloques desde el bloque génesis de todas formas; el podado solo decide qué conserva después.
  • La memoria es de donde sale la velocidad de sincronización. Con 4 GB funciona, con 8 GB sincroniza notablemente más rápido y deja margen para Lightning y una base de datos que no compite con el nodo por la caché.
  • El NVMe no es opcional. La sincronización inicial está dominada por lecturas y escrituras aleatorias contra la base de datos UTXO, así que el mismo trabajo en un disco lento tarda días en lugar de horas.
  • El ancho de banda no tiene nada de especial una vez sincronizado, pero la primera sincronización descarga toda la cadena. Un plan medido no encaja con eso.

En la práctica, eso apunta al VPS-8 a $13.99/mo — 4 vCPU EPYC, 8 GB DDR5 ECC y 120 GB de NVMe Gen4 — como opción por defecto razonable para un nodo podado con Lightning, con el VPS-16 a $26.99/mo si prefieres no volver a pensar en el disco nunca más. Todos los niveles de VPS incluyen NVMe Gen4 en RAID-10 y transferencia no medida, así que la capacidad es la única variable real. Si quieres la cadena sin podar — para reescanear un monedero antiguo, o para ejecutar un servidor Electrum junto a la tienda — olvídate por completo de la gama VPS: un servidor dedicado desde $64/mo con 2 × 1 TB de NVMe es a la vez más barato y con mucho más margen que el VPS más grande, y la aritmética solo empeora con el tiempo. Las contrapartidas son las mismas que se tratan en ejecutar un nodo completo de Bitcoin, porque eso es exactamente lo que estás haciendo aquí con un sistema de cobro añadido encima.

El podado tiene una consecuencia con la que la gente se topa demasiado tarde: un nodo podado no puede reescanear la cadena más atrás de los bloques que todavía conserva. Apunta BTCPay a un monedero ya existente que tenga historial y esos pagos antiguos simplemente no aparecerán. Empieza la tienda con una cuenta nueva, o ejecuta el nodo sin podar.

Paso a paso: de un VPS nuevo a un sistema de cobro en marcha

  1. 01Despliega el VPS y endurécelo primeroUna máquina Debian o Ubuntu, SSH solo con clave, firewall que deniega todo por defecto — antes de que haya nada valioso en ella. La versión ordenada de esa lista de verificación es una guía en sí misma.
  2. 02Apunta un dominio al servidor y abre el 80 y el 443BTCPay emite su propio certificado en el primer arranque, lo cual solo funciona si el nombre de host ya resuelve hacia la máquina y ambos puertos son alcanzables. Hacer esto al revés es, con diferencia, la causa más común de instalaciones fallidas.
  3. 03Clona el despliegue oficial de DockerEl proyecto distribuye una configuración de contenedores con criterio propio. Úsala en lugar de ensamblar las piezas a mano — es contra lo que se prueba la ruta de actualización.
  4. 04Decide tus opciones antes de la primera ejecuciónLa red, el nombre de host, la implementación de Lightning y el ajuste preestablecido de almacenamiento son variables de entorno que se leen una sola vez durante la configuración. Cambiar el nivel de podado después no sale gratis, así que decide ahora.
  5. 05Ejecuta el script de configuración y deja que sincroniceTodo se levanta en contenedores y Bitcoin Core empieza su descarga inicial de bloques. Esta es la parte larga — varias horas en NVMe — y el único paso que no puedes apresurar.
  6. 06Registra la cuenta de administrador de inmediatoLa primera cuenta en registrarse se convierte en la cuenta de administrador. Hazlo en el momento en que la interfaz responda, no a la mañana siguiente.
  7. 07Conecta un monedero a tu tiendaCrea una tienda y luego conecta un monedero importando una clave pública extendida desde un monedero hardware o una cuenta dedicada en tu propio software. BTCPay vigila las direcciones; nunca firma nada.
  8. 08Prueba con un pago real y luego conecta el frontendEnvíate a ti mismo un importe pequeño y confirma que la factura se liquida. Solo entonces conecta la pantalla de punto de venta, el plugin de tienda o la API que tu sitio realmente va a usar.
Conecta el monedero con una clave pública extendida, nunca con una frase semilla. Un xpub permite que BTCPay derive direcciones y detecte pagos; una semilla convertiría una aplicación web expuesta al público en un monedero caliente que retiene todo lo que has cobrado alguna vez. Todo el modelo de seguridad del lado on-chain descansa sobre esa única decisión.

Lightning: merece la pena, y lo que realmente cuesta

Los pagos on-chain funcionan en todas partes y cuestan lo que cueste el mempool ese día, lo que hace que cualquier importe por debajo de unos pocos dólares resulte incómodo y a veces absurdo. Lightning soluciona eso, y BTCPay levantará un nodo por ti en el mismo despliegue. Para pagos pequeños o frecuentes es la respuesta correcta. También es un compromiso operativo de un tipo distinto al de un nodo de Bitcoin, y vale la pena conocer las diferencias antes de activarlo.

  • Necesitas liquidez entrante antes de poder cobrar. Abrir tu propio canal te da capacidad para gastar, no para recibir. Hasta que alguien abra un canal hacia ti o adquieras capacidad entrante, tu nodo no puede aceptar nada en absoluto.
  • El saldo es caliente por diseño. Los fondos del canal viven en un monedero en el servidor, en línea porque tienen que estarlo. Mantén ahí tu capital operativo y barre el resto on-chain.
  • El estado del canal no se respalda copiando archivos. Restaurar una instantánea antigua de un nodo Lightning puede costarte los canales que describe. Usa el propio mecanismo de copia de seguridad de la implementación y entiende qué es lo que realmente restaura.
  • El tiempo de inactividad cuesta más aquí que on-chain. Un nodo fuera de línea no puede enrutar ni recibir, y un estado obsoleto que vuelve a conectarse puede ser penalizado.
  • Los canales tienen costes on-chain en ambos extremos. Abrir y cerrar son transacciones, así que el hábito de usar muchos canales pequeños sale caro sin que se note.
  • Tu nodo es visible si tú lo permites. Un nodo anunciado públicamente difunde su alias y su dirección de red a todo el mundo, lo cual pone tu servidor en un mapa que cualquiera puede leer.

Un término medio sensato es usar Lightning con canales no anunciados — puedes cobrar sin publicar tu infraestructura — y dejar on-chain como opción por defecto para cualquier importe grande. Si quieres que el nodo sea alcanzable sin ser atribuible, ejecútalo sobre Tor, el mismo razonamiento que pone un nodo de Bitcoin detrás de un servicio onion en lugar de una IP pública.

Las fugas de identidad que deja una instalación por defecto

Esta es la sección que importa si elegiste BTCPay específicamente para escapar de un procesador que sabía quién eras. El software elimina ese procesador a la perfección. Por sí solo, no elimina todo lo demás que vincula el sistema de cobro con una persona — y la mayoría de esos vínculos vienen de pasos que parecen no tener nada que ver con los pagos.

  • El dominio. Un registrador conserva tu identidad incluso cuando el WHOIS público está redactado, y necesita una dirección de contacto que funcione para mantener vivo el nombre. El nombre de host es, con diferencia, la forma más común en que un sistema de cobro autoalojado se rastrea hasta su dueño.
  • La transparencia de certificados. En el momento en que se emite un certificado, el nombre de host exacto se publica en registros públicos que cualquiera puede consultar. Un subdominio que dabas por privado — pay.algo, btcpay.algo — queda anunciado a nivel mundial con una marca de tiempo.
  • El host. Si el servidor se compró con una tarjeta a tu nombre legal, la máquina está a tu nombre legal sin importar qué se ejecute en ella. Eso se decide en el registro, mucho antes de la primera factura.
  • La clave pública extendida. Darle a BTCPay un xpub le permite vigilar cada dirección que esa clave deriva, incluyendo saldos e historial que nunca pretendías exponer a una aplicación web. Usa una cuenta dedicada para la tienda, nunca el xpub de tu monedero principal.
  • El nodo Lightning. Un nodo anunciado publica un alias y una dirección. Un alias que lleva tu marca, en una IP que además sirve tu sistema de cobro, vincula ambas cosas de forma permanente en un grafo público.
  • Las llamadas salientes. Los proveedores de tipo de cambio, los plugins y las integraciones de notificaciones se conectan hacia fuera desde la máquina, y las notificaciones por correo viajan a través de la cuenta SMTP que hayas configurado. Cada una de ellas es un tercero que ve tu servidor.
  • La ruta de salida de los fondos. Las monedas que salen de la tienda hacia una cuenta verificada en un exchange llegan con su historial pegado. Esa fuga está aguas abajo de BTCPay, y es la que con más frecuencia deshace todo el cuidado puesto aguas arriba.
El enfoque útil es que BTCPay elimina al intermediario del pago, no del resto de la pila. Un sistema de cobro autoalojado es tan privado como lo sea la parte menos privada de la que depende — el dominio, el host, y adónde va el dinero después.

Cerrar esas brechas es trabajo ordinario, no algo exótico. Elige un registrador que acepte criptomonedas y pida lo mínimo, y dale una dirección que no esté ligada a tu identidad. Pon la máquina en un host que nunca preguntó quién eres y págalo desde un saldo en cripto — Bitcoin es pseudónimo, no anónimo, así que recargar en Monero es lo que cierra el rastro on-chain si eso te importa. Y accede a la interfaz de administración a través de un túnel WireGuard en lugar de exponer una pantalla de inicio de sesión para algo que retiene dinero. Cada cosa es una pequeña decisión tomada una sola vez; juntas son la diferencia entre «ningún procesador» y ser realmente privado.

Mantenerlo en marcha después del lanzamiento

Un sistema de cobro que ha funcionado durante un año es un sistema de cobro que nadie ha revisado en un año. Una breve rutina de mantenimiento evita que eso se convierta en una caída justo tu día de más movimiento.

  • Actualiza al ritmo del proyecto, no al tuyo. El despliegue tiene una ruta de actualización que mueve juntas las versiones compatibles de los contenedores; subir piezas sueltas a mano es como una pila que funciona se convierte en una que no.
  • Respalda lo que no se puede regenerar: la base de datos y la configuración de la tienda, el descriptor del monedero, y la copia de seguridad de Lightning si ejecutas uno. La blockchain no es una copia de seguridad — se vuelve a descargar.
  • Restaura una vez, a propósito, mientras no haya ningún problema. Una copia de seguridad no probada de un sistema de pagos es una hipótesis sobre tus ingresos.
  • Vigila el disco. Un nodo podado tiene una huella estable, pero los logs y las bases de datos no, y un disco lleno detiene el nodo, lo cual detiene las facturas.
  • Mantén la máquina parcheada y los puertos cerrados. Todo lo que hay en la lista de verificación de endurecimiento de los primeros diez minutos se aplica aquí, con bastante más en juego.

De paso, añade una comprobación externa sobre la tienda. Algo tan simple como un monitor que golpee el endpoint de facturas desde fuera te avisa de que el sistema de cobro está caído antes de que lo haga un cliente, que es la mayor parte de la diferencia práctica entre autoalojar y ser inalcanzable. Y trata la máquina en sí como describen los primeros diez minutos en un VPS nuevo, porque hay más en juego en una máquina que retiene dinero.

Errores que cuestan dinero real

  • Importar una frase semilla en lugar de una clave pública extendida, convirtiendo una aplicación web pública en un monedero caliente que retiene todos los pagos jamás recibidos.
  • Configurar el DNS después de ejecutar el instalador, y luego preguntarse por qué el certificado nunca se emitió y el sitio no carga.
  • Elegir el ajuste preestablecido de podado más agresivo, y luego intentar conectar un monedero con años de historial que el nodo ya no puede reescanear.
  • Tratar el saldo de Lightning como ahorros en lugar de como capital operativo que simplemente vive conectado a internet.
  • Respaldar un nodo Lightning copiando su directorio de datos y asumir que eso es una vía de restauración.
  • Comprar un plan dimensionado para la aplicación web y quedarse sin disco a mitad de la sincronización inicial.
  • Dejar la interfaz de administración abierta a todo internet detrás de una contraseña reutilizada de otro sitio.
  • Registrar el dominio y alquilar el servidor a tu propio nombre, después de haber hecho todo lo demás bien.

BTCPay es uno de los pocos programas que elimina a un intermediario por completo en lugar de sustituirlo por uno más amable. La instalación es una tarde y la sincronización es una noche. Lo que te queda es un sistema de cobro que acepta Bitcoin y Lightning, no cobra comisión, no custodia nada y no responde ante nadie — funcionando en una máquina que puedes pagar con el mismo saldo que ese sistema recauda. Dimensiona el disco para el nodo, mantén la semilla fuera del servidor, y pon la máquina en algún sitio que nunca haya pedido tu nombre.

¿Listo para probarlo?Despliega VPS Offshore desde $3.99/mes — sin KYC, pago en cripto. Empezar