Saltar al contenido principal

Procesamiento de Pagos

Aceptar pagos en Bitcoin implica más que solo generar una dirección. Necesitas manejar confirmaciones, estimación de comisiones, detección de pagos, y cada vez más, integración con Lightning Network para pagos instantáneos.

Pagos On-Chain

Flujo de Pago

Consideraciones Clave

FactorRecomendación
Reutilización de direccionesNunca reutilices direcciones — genera una dirección única por factura
Confirmaciones1 confirmación para montos pequeños, 3-6 para montos mayores
Estimación de comisionesUsa estimatesmartfee o estimación basada en mempool
Detección de pagosVigila el mempool para 0-conf, luego rastrea confirmaciones
TimeoutsEstablece expiración de factura (ej: 15-60 minutos)
Sobrepago/pago insuficienteDefine rangos de tolerancia

Monitoreo de Pagos

# Using bitcoin-cli
bitcoin-cli listtransactions "*" 10 # Recent transactions

# Watch a specific address (requires addressindex or wallet import)
bitcoin-cli importaddress "bc1q..." "invoice-001" false

Para producción, usa un backend dedicado:

  • Electrum server — Consultas eficientes basadas en direcciones
  • Esplora API — API REST para búsquedas de direcciones/transacciones
  • Bitcoin Core wallet — RPC directo, más privado

Pagos Lightning

Lightning permite pagos instantáneos y de baja comisión — ideal para punto de venta y transacciones pequeñas.

Facturas BOLT-11

Los pagos Lightning usan facturas BOLT-11:

lnbc10u1pj...  ← encoded invoice

Decoded:
Amount: 10,000 sats
Description: "Coffee"
Payment hash: abc123...
Expiry: 3600 seconds
Node pubkey: 02def...

Flujo de Pago (Lightning)

Opciones de Integración Lightning

EnfoqueComplejidadControl
BTCPay ServerBajaAuto-hospedado, control total
LND/CLN APIMediaAcceso directo al nodo
LDKAltaImplementación personalizada
API Hospedada (Strike, etc.)BajaDependencia de terceros

BTCPay Server

BTCPay Server es el procesador de pagos open-source más popular:

  • Auto-hospedado (sin terceros)
  • Soporte on-chain + Lightning
  • Integraciones con Shopify, WooCommerce y otros
  • Facturación, punto de venta y crowdfunding integrados
  • API para integraciones personalizadas
# Deploy with Docker
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
./btcpay-setup.sh

Códigos QR Unificados (BIP-21)

BIP-21 define un esquema URI que puede incluir opciones tanto on-chain como Lightning:

bitcoin:bc1qaddress?amount=0.001&lightning=lnbc1000...

Esto permite al pagador elegir on-chain o Lightning desde un único código QR.

Lectura Recomendada