Saltar al contenido principal

Paradas (pagos recurrentes)

Una Parada (stop) es una URL de pago permanente asociada a un cliente: en vez de generar una sesión nueva cada vez, el cliente vuelve siempre al mismo enlace para pagarte. Útil para pagos recurrentes (mensualidades, suscripciones, abonos).

Paradas: pagos recurrentes con una URL permanente

Idea

  • Botón/Solicitud → una sesión por pago (efímera).
  • Parada → un enlace permanente por cliente, que acepta pagos repetidos en el tiempo.

Operaciones

Las paradas se gestionan con su propio conjunto de endpoints bajo /api/v1/ext/payment-stops:

  • Crear una o varias paradas — POST /api/v1/ext/payment-stops.
  • Consultar detalle — GET /api/v1/ext/payment-stops/{stop_id} — e historial de pagos — GET /api/v1/ext/payment-stops/{stop_id}/payment-sessions.
  • Listar (GET), actualizar (PATCH) y eliminar (DELETE) paradas.
  • Operar los enlaces de pago asociados a una parada, incluido por lote (.../payment-sessions/batch), reordenar (.../payment-sessions/reorder) y consultar múltiples (.../payment-sessions/query).

Cada pago realizado sobre una parada sigue el mismo ciclo de vida y la transacción a dos tiempos que un pago normal, y dispara los mismos webhooks.

Crear una parada

Cada item necesita al menos stop_title e internal_reference (tu referencia); spidi_id es tu identificador de usuario SPIDI (UUID).

curl -X POST https://sim-productos.abiertolab.com/api/v1/ext/payment-stops \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{
"continue_on_error": true,
"spidi_id": "<tu_spidi_id_uuid>",
"items": [{
"stop_title": "Mensualidad del gimnasio",
"internal_reference": "STOP-0001",
"empty_state_message": "No tienes pagos pendientes"
}]
}'

Respuesta (success: true): un batch_id y, por cada ítem, su data con el stop_id y la stop_url — el enlace permanente que compartes con el cliente:

{
"success": true,
"message": "Batch processed: 1 items created.",
"batch_id": "batch_...",
"results": [{
"internal_reference": "STOP-0001",
"success": true,
"data": { "stop_id": "stp_...", "stop_url": "https://.../s/stp_...", "status": "active" }
}]
}

Consultar la parada y su historial

# detalle de la parada
curl https://sim-productos.abiertolab.com/api/v1/ext/payment-stops/<stop_id> \
-H "Authorization: Bearer <token>"

# historial de pagos de la parada
curl https://sim-productos.abiertolab.com/api/v1/ext/payment-stops/<stop_id>/payment-sessions \
-H "Authorization: Bearer <token>"
Respuestas de ejemplo del contrato

El simulador responde con ejemplos del contrato (OpenAPI) para las operaciones de Paradas: verás la forma de la respuesta (campos stop_id, stop_url, status…), aunque el simulador todavía no mantiene el estado dinámico de cada parada como sí lo hace con las sesiones de Botón/Solicitud.

Botón vs Solicitud vs Split vs Paradas · Usar el simulador