Skip to contentChangelog
1.2.0 — 2026-03-17
Pago B2B gestionado por el canal
- Nuevo endpoint
POST .../orders/{orderToken}/confirm-payment: el canal notifica que ha procesado el pago con su pasarela propia. - Ejecuta el mismo proceso de cierre que el webhook de Redsys: orden completada, asientos vendidos, tickets enviados.
- Validación de importe declarado vs. total de la orden.
- Idempotente: llamadas repetidas sobre una orden ya completada devuelven
200 sin reejecutar el proceso. - Refactorización interna: lógica de cierre de orden extraída a
OrderCompletionService (compartida con RedsysPaymentController).
1.1.0 — 2026-03-17
API B2B (/sales-channel/v1/)
- Nuevo flujo de autenticación:
POST /auth/token intercambia widget_key por Bearer token Sanctum. - El token anterior se revoca automáticamente al solicitar uno nuevo.
- Nuevo endpoint público
GET /{slug}/config para configuración de branding del canal. POST .../orders: order_token ahora es opcional en el flujo B2B — el backend lo genera automáticamente.- Nuevos endpoints de gestión de items: bulk add, bulk delete, sector (zonas no numeradas), change-rate.
- Payload de eventos simplificado: sin
fees ni manual_promotions. - Payload de sesión saneado: sin venue, fees, timestamps internos.
Backend
- Columna
widget_key añadida a sales_channels (64 chars, nullable, unique). SalesChannel implementa HasApiTokens (Sanctum) para emitir Bearer tokens.- Middleware
ValidateSalesChannelToken: valida Bearer token y adjunta canal autenticado al request. - Middleware
InjectOrderTokenForB2B: inyecta order_token UUID si el cliente no lo envía. - Rutas de gestión de
widget_key en admin y promotor: POST/DELETE /{channel}/widget-key. - Eliminado controlador legacy
SalesChannels\PublicSalesChannelController (no estaba en uso).
1.0.0
- Contrato
sessionId obligatorio para inicialización. - Checkout controlado por host de forma nativa.
- Integración de descuentos (botón + modal + aplicar/eliminar).
- Ajustes de estilo para aislamiento frente a Bootstrap del host.
- Correcciones de expiración del carrito al vaciar y rehidratar.