Terminal Sessions te permite enviar cobros a una terminal POS de Recurrente directamente desde tu sistema (ERP, POS propio, o cualquier integración). Tu sistema envía un comando con el monto, y la terminal automáticamente muestra la pantalla de cobro para que el cliente pague con tarjeta.
Para que la terminal reciba comandos de tu sistema, debe estar en la pantalla de espera. Esta pantalla muestra “Listo para cobrar” y espera automáticamente por nuevos comandos.
Cuando tu sistema envíe un comando, la terminal automáticamente muestra la pantalla de cobro. Después de cada pago (exitoso o fallido), la terminal regresa al modo espera para recibir el siguiente comando.
En modo espera, el operador de la terminal no puede ingresar montos manualmente. Todos los cobros se controlan desde tu sistema vía API.
Envía un POST a /api/terminal_session_commands con el monto y la terminal destino.
201 Created — se creó un nuevo comando200 OK — ya existe un comando activo con el mismo external_id (se retorna el existente)Si recibes 200 y el status es dispatched, significa que el comando ya fue levantado por la terminal. Usa un nuevo external_id para crear un comando nuevo.
Envía amount_in_cents o amount, no ambos. Si envías amount, se convierte automáticamente a centavos.
Registra un webhook endpoint para recibir notificaciones cuando el pago se complete.
Escucha el evento payment_intent.succeeded:
Usa el campo metadata.external_id para relacionar el pago con la orden en tu sistema.
El external_id es unico por cuenta. Si envias el mismo external_id dos veces:
Esto te permite reintentar requests de forma segura sin crear cobros duplicados.
Si envias un nuevo comando a la misma terminal con un external_id diferente, todos los comandos pendientes anteriores para esa terminal se marcan como superseded. La terminal solo procesa el comando mas reciente.
Esto es util cuando: