STRYK, POS API
Conecta su caja a STRYK
Cargos de restaurante y bar a la habitación: configuración, contrato API y reintentos seguros.
Cargando …
1Configuración
Confirma con el proveedor que la caja admite la API de STRYK. Una API propia u OAuth requiere un adaptador; generar una clave no demuestra compatibilidad. En la configuración POS crea un punto de venta con impuesto válido y una clave limitada a él. GET /ping comprueba la conexión; un cargo controlado a habitación verifica la escritura.
2Claves y seguridad
La clave completa empieza por pos_live_ y solo está disponible al crearla. El ojo cambia su visibilidad; Copiar siempre usa el valor completo. Después queda el identificador. Úsala en el servidor mediante HTTPS, nunca en el navegador ni en registros. Antes de cambiarla concilia los recibos pendientes con la antigua: las referencias pertenecen a esa clave. No reenvíe recibos antiguos con una clave nueva; revoca después la antigua.
3Cuenta de habitación e importes
Verifica huésped y habitación mediante /accounts o /room-lookup. Solo se pueden cargar estancias con entrada física y sin salida. Respete allowCharge, bloqueos, límite y cuenta de factura cerrada. Envía bookingId y room juntos. Precios brutos positivos en moneda del hotel, impuesto válido en la fecha del servicio. Cantidad a tres decimales, dinero a dos; chargedAt con zona horaria. Sin cargos API después de la salida.
4Cargos y reintentos
Cada línea necesita un externalRef permanente. Tras un timeout, primero GET /charges/{externalRef}; solo con 404 repite la misma solicitud con la misma clave. Repetición exacta: 201 e idempotentReplay=true; contenido cambiado o referencia anulada: 409. Hasta 50 líneas atómicas. Con 429 espera al menos 60 segundos; límite de 100 solicitudes por minuto y clave.
5Anulación y factura
DELETE /charges/{externalRef} anula una línea abierta propia sin doble efecto al repetir. Las líneas transferidas a factura se corrigen en Finanzas. Cargar a la habitación no es pagar; al salir las líneas abiertas pasan a factura. Concilie los registros manuales durante interrupciones antes del envío API.
6Webhooks y validación
Webhooks opcionales: charge.posted y charge.cancelled. Configura un secreto separado y verifica HMAC-SHA256 sobre el cuerpo original. X-STRYK-Webhook-Id identifica la suscripción. Elimina duplicados mediante event y data.chargeId; no supongas un orden. Prueba cargos, repeticiones, bloqueos, límites, varias habitaciones, anulación, facturación y webhooks.