Insta Comercio: Pago a Cuotas

Unifica las principales facilitadoras de pago a coutas como lo son Cashea y Lysto en un solo endpoint para ser consumido en las cajas registradoras, terminales y puntos de ventas del comercio.

Escalabilidad, orquestación inteligente y seguridad certificada.

🔌
Integración Única

Conecta tu POS a una sola API y accede instantáneamente a múltiples proveedores de crédito. Reduce mantenimiento y deuda técnica.

🧠
Orquestación

El backend enruta inteligentemente las transacciones, gestiona reintentos (retries), timeouts y normaliza errores externos.

🛡️
Seguridad Bancaria

Encriptación AES-256 para datos sensibles. Validación estricta de headers (idKey) y persistencia auditada en nuestro almacen de datos.

SETUP
01
Disponibilidad & Credenciales

Antes de iniciar, el frontend consulta qué sucursales (Locations) están activas y verifica la salud de los proveedores.

Health Check READ-ONLY
GET /api/bnpl/health
# Retorna estado de gateways
{ "cashea": "UP", "lysto": "UP", "db": "CONNECTED" }
INIT
02
Creación de Transacción

Punto de entrada único. El backend detecta el provider y aplica la estrategia de validación correspondiente.

  • ✅ Valida monto mínimo/máximo
  • ✅ Encripta datos sensibles
  • ✅ Asigna UUID interno único
Payload Switcher REQUIRED
POST /api/bnpl/transactions
# Ejemplo Cashea
{ "provider": "cashea", "amount": 100.50, "invoiceId": "FAC-001", "identificationNumber": "V123456" }

# Ejemplo Lysto (Diferente Payload)
{ "provider": "lysto", "description": "Nike Air Jordan", "amount": 250.00 }
LOGIC
03
Verificación y Cálculo

El sistema consulta el scoring del usuario en tiempo real (<200ms).

Lógica Backend: Calcula el Down Payment (Inicial) y los fees bancarios antes de confirmar.
Risk Engine PROCESSING
POST /transactions/:id/verify
# Respuesta Calculada
{ "canBuy": true, "downPayment": 40.00, // Lo que paga hoy "installments": [20.00, 20.00, 20.00], "expiresAt": "2025-10-10T15:00:00Z" }
COMMIT
04
Confirmación (Cierre)

Una vez el cliente paga la inicial, el comercio confirma.

Finalize CRITICAL
POST /transactions/:id/confirm
# Body para Lysto
{ "invoiceNum": "FISCAL-999", "paymentHandle": "LY-TOKEN-XYZ", "branchId": "BR-001" }
# 200 OK -> Venta Cerrada