Pagos recurrentes con criptomonedas: cómo funcionan las suscripciones cripto en 2026
Los pagos recurrentes con criptomonedas permiten que un cliente pague una suscripción en USDC, USDT u otro token cada semana, mes o año. El problema: en cripto no existe la "tarjeta guardada". Una billetera nunca entrega sus claves al comercio, así que no puedes volver a cobrarle sin más el mes siguiente.
Esta guía explica las tres formas de cobrar suscripciones cripto, lo que cuesta cada una para ti y para tu cliente, y cómo configurarlas con OrcaRail.
Por qué los pagos recurrentes con cripto son difíciles
Con una tarjeta, el cliente te da el número una vez y lo cobras cada mes. En cripto funciona al revés. Cada transferencia es un envío (push) firmado por el dueño de la billetera. Nada sale de la billetera si su dueño no lo firma.
Así que una suscripción cripto necesita una de estas dos cosas:
- que el cliente firme un pago en cada ciclo, o
- que el cliente firme una sola vez un permiso que deja a una dirección concreta retirar más tarde un importe limitado.
Todos los productos de cobro cripto son una variante de una de las dos.
Tres formas de cobrar una suscripción cripto
| Método | Cómo funciona | Esfuerzo del cliente | Dónde funciona |
|---|---|---|---|
| Enlace de pago por ciclo | Envías una factura o enlace de pago nuevo en cada periodo; el cliente lo paga | Un pago por ciclo | Todas las cadenas, incluido Bitcoin |
| Allowance pull (cobro automático) | El cliente aprueba una vez un allowance limitado; tú retiras cada periodo | Una aprobación y nada más | EVM (ERC-20) y Solana (delegación SPL) |
| Prepago / escrow | El cliente deposita varios periodos por adelantado en un contrato o saldo | Un depósito grande | Depende del producto |
Los enlaces de pago son lo más simple y funcionan en todas partes, pero los clientes se olvidan y la cancelación sube. El allowance pull se parece a una suscripción con tarjeta: el cliente aprueba una vez y se le cobra según el calendario. El escrow inmoviliza el dinero del cliente, algo que a la mayoría no le gusta. Explicamos por qué elegimos allowance pull en Por qué suscripciones con allowance pull.
Cómo funcionan las suscripciones con allowance pull
En las cadenas EVM, los tokens ERC-20 como USDC tienen la función approve(spender, amount). El cliente aprueba una dirección (spender) por un total, por ejemplo 120 USDC para 12 cobros mensuales. Cada mes, el spender llama a transferFrom por 10 USDC. En Solana, la misma idea usa la delegación de tokens SPL.
Lo que lo hace seguro para el cliente:
- El límite está on-chain. El spender nunca puede retirar más que el importe aprobado.
- El cliente puede revocarlo cuando quiera con
approve(spender, 0)en EVM, o revocando la delegación en Solana. Las billeteras y las herramientas de revocación muestran estas aprobaciones. - No se comparten claves privadas. El cliente mantiene el control total de su billetera.
Lo que significa para ti: un cobro puede fallar si la billetera no tiene suficientes tokens en la fecha de facturación. Tu sistema de cobros debe gestionarlo (ver más abajo).
Pagos recurrentes cripto con OrcaRail
Las suscripciones de OrcaRail admiten los dos métodos principales. Eliges uno por suscripción con collection_method:
send_payment_link(por defecto): en cada ciclo, OrcaRail crea un enlace de pago para el periodo y puede enviarlo por email al pagador. Funciona en todas las redes compatibles.auto_charge: el pagador aprueba una vez (allowance ERC-20 en EVM, delegación SPL en Solana) y OrcaRail retira el importe del periodo en cada ciclo. El cobro automático no funciona en Bitcoin.
Los pagadores también pueden cambiar entre ambos desde el flujo alojado. Si un pagador revoca el cobro automático, la suscripción vuelve a enlaces de pago.
Otras funciones que esperas de un sistema de facturación:
- Intervalos: día, semana, mes o año, con
interval_county untotal_cyclesopcional. - Pruebas gratuitas:
trial_period_daysotrial_end, más un webhooksubscription.trial_will_endunos 3 días antes de que termine la prueba (Pruebas). - Estados:
trialing,active,past_due,paused,canceled,completed. - Webhooks en cada paso, incluidos
subscription.payment_link.paid(ciclo pagado, por enlace o cobro automático) ysubscription.payment_link.payment_failed(falló el cobro automático) (Webhooks de suscripciones). - SDK: Node.js, PHP y Laravel Cashier (SDK de suscripciones).
OrcaRail también está trasladando el spender del cobro automático de una hot wallet de OrcaRail a un contrato público on-chain (EVM) y a un programa (Solana). El flujo del pagador no cambia: aprueba una vez y revoca cuando quiera. Consulta la visión general no custodial.
Crea una suscripción cripto
Un plan mensual de 10 USD, pagado en una stablecoin, con 14 días de prueba:
POST /api/v1/subscriptions
{
"description": "Pro Plan",
"amount": "10.00",
"currency": "usd",
"token_id": "<USDC token id>",
"network_id": "<Base network id>",
"interval": "month",
"trial_period_days": 14,
}
La suscripción empieza en trialing. Obtén los IDs de token y red con GET /payments/networks y GET /payments/networks/:id/tokens. Pasos completos: Crear una suscripción.
Después, procesa los webhooks en tu backend:
subscription.payment_link.paid: da o amplía el acceso para este ciclo.subscription.payment_link.payment_failedysubscription.past_due: avisa al cliente y mantén el acceso un breve periodo de gracia o rebaja el plan.subscription.trial_will_end: recuerda al cliente que apruebe el cobro automático o pague el primer enlace.subscription.canceledysubscription.completed: termina el acceso en el momento correcto.
Construye y prueba todo esto en una organización sandbox gratuita con USDC de prueba de los faucets de testnet antes de salir a producción.
¿Enlace de pago o cobro automático?
| Vendes… | Usa |
|---|---|
| SaaS, membresías, planes de API (mensuales) | auto_charge, con enlaces de pago como respaldo |
| Planes anuales o facturas de alto importe | send_payment_link: un pago consciente por ciclo |
| Clientes que pagan en BTC | send_payment_link (sin cobro automático en Bitcoin) |
| Clientes que no quieren conceder aprobaciones | send_payment_link |
Muchos equipos ofrecen ambos y dejan que el cliente elija en la página alojada.
Consejos para reducir cobros fallidos
- Aprueba un límite acorde al plan. Pide
importe × ciclos(por ejemplo, 12 meses), no un allowance ilimitado. Un número claro genera más confianza. - Elige una red barata. Base, Arbitrum, Optimism, Polygon y Solana mantienen bajo el gas de cada cobro.
- Recuerda antes de la fecha de cobro. Usa
subscription.trial_will_endy tu propio recordatorio antes de cada ciclo para que el cliente recargue la billetera. - Muestra el calendario. En tu página de suscripción, muestra el importe, el intervalo, la fecha del primer cobro y cómo cancelar.
- Ten un plan B. Cuando falle un cobro, envía el enlace de pago del periodo para que el cliente pueda pagar ese ciclo igualmente.
Preguntas frecuentes
¿Se pueden configurar pagos recurrentes con criptomonedas?
Sí. O el cliente paga un enlace de pago nuevo en cada ciclo, o aprueba una vez un allowance limitado y el comercio retira cada periodo. OrcaRail admite ambos.
¿Es seguro el cobro automático para el cliente?
El cliente aprueba un máximo fijo on-chain, conserva sus claves privadas y puede revocar la aprobación cuando quiera desde su billetera. El spender no puede retirar más que el importe aprobado.
¿Qué tokens y redes admiten el cobro automático cripto?
Los tokens con el estándar de allowance ERC-20 en cadenas EVM (USDC, USDT y otros) y los tokens SPL en Solana. Bitcoin no tiene allowances de tokens, así que las suscripciones en Bitcoin usan enlaces de pago.
¿Qué pasa si la billetera del cliente está vacía en la fecha de cobro?
El cobro falla, recibes subscription.payment_link.payment_failed y la suscripción puede pasar a past_due. El cliente puede pagar el periodo con un enlace de pago o recargar la billetera.
¿Cuánto cuestan las suscripciones cripto con OrcaRail?
La comisión alojada es del 0,5% por transacción completada después de las primeras 1.000 transacciones gratis, y el software autoalojado no tiene comisión de OrcaRail. Consulta los precios.
Suscripciones · Documentación de suscripciones · Empieza en el sandbox
