API de Checkout
La API de Checkout te permite crear links de pago (páginas alojadas) para tus clientes.
Hay dos tipos de checkout:
- Carrito (
payment_type: 'shopping_cart'): compra única con uno o más items - Suscripción (
payment_type: 'subscription'): cobro recurrente con programación tipo cron
Creando un Checkout
Crea una sesión de checkout con items y URLs de redirección:
Suscripciones (recurrente)
Para crear un checkout de suscripción, define payment_type: 'subscription' e incluye un objeto subscription.
Suscripción (avanzado)
El cronograma de suscripción soporta campos opcionales adicionales:
allocations: montos variables por ocurrencia (ej. trial a $0 y luego precio normal)\n-trial_days: retrasa el primer cobro N días\n-timezone: interpreta el cron en una zona horaria IANA (recomendado para cobros mensuales)\n-max_occurrences: límite máximo de ocurrencias generadas
Parámetros del Checkout
Parámetros Requeridos
Parámetros Opcionales
Avanzado: payout_route (ruteo de fondos)
payout_route define a dónde van los fondos después de que el pago se completa. Puedes rutear:
- Un monto fijo a un destino, o
- Un porcentaje del total a un destino
Cada destino es un union discriminado llamado route (por network):
polygon,kusama,tron,bep20(por dirección)bloque(hacia unaccount_urnde Bloque)
Costos de ruteo
network: 'bloque': $0 (sin costo adicional) después del pago- Otras redes (
polygon,kusama,tron,bep20): $0.50 por “leg”
Ejemplo (fijo + porcentaje)
::::tip
Si no estás haciendo revenue splits / marketplace, puedes ignorar payout_route.
::::
Items del Checkout
Cada item en el checkout:
Ejemplo Completo
Recuperar un Checkout
Obtener detalles del checkout:
Recuperación pública vs autenticada
- Pública: usa
retrievePublic(urlId)para páginas públicas donde solo necesitas campos públicos.\n- JWT/client-secret: usaretrieve(urlId)cuando tienes autenticación y necesitas la vista completa.
Cancelar un Checkout
Cancelar un checkout activo:
Respuesta del Checkout
Al crear un checkout con secretKey, la respuesta incluye un campo client_secret. Este es un JWT con alcance de checkout que debe pasarse al frontend junto con el checkoutId para autenticación en el navegador.
Próximos Pasos
- Webhooks - Maneja eventos de checkout
- Métodos de Pago - Configura métodos de pago