STRYK, POS API
Collega la cassa a STRYK
Addebiti in camera da ristorante e bar: configurazione, contratto API e tentativi sicuri.
Caricamento …
1Configurazione
Verifica con il fornitore se la cassa supporta l’API STRYK. Una cassa con API propria o OAuth richiede un adattatore: creare una chiave non prova la compatibilità. In POS → Configurazione crea un punto vendita con imposta valida e una chiave limitata ad esso. GET /ping verifica la connessione; un addebito controllato verifica la scrittura.
2Chiavi e sicurezza
La chiave completa inizia con pos_live_ ed è disponibile solo alla creazione. L’occhio cambia la visibilità; Copia usa sempre il valore completo. Successivamente resta l’identificativo. Usala solo lato server con HTTPS, mai nel browser o nei log. Prima di sostituirla riconcilia i documenti pendenti con la vecchia chiave: riferimenti e ricerche sono legati a essa. Non reinviare vecchi documenti con la nuova chiave; infine revoca la vecchia.
3Conto camera e importi
Verifica ospite e camera con /accounts o /room-lookup. Solo soggiorni effettivamente registrati e non ancora terminati sono addebitabili. Rispetta allowCharge, blocchi, limite di credito e conto fattura chiuso. Invia bookingId e room insieme. Prezzi lordi positivi in valuta dell’hotel, imposta valida alla data del servizio. Quantità a tre decimali, denaro a due; chargedAt con fuso orario. Nessun addebito API dopo il checkout.
4Addebiti e nuovi tentativi
Ogni voce richiede un externalRef stabile. Dopo un timeout usa GET /charges/{externalRef}; solo con 404 ripeti la stessa richiesta, chiave e riferimento. Ripetizione esatta: 201 con idempotentReplay=true; contenuto diverso o riferimento annullato: 409. Fino a 50 voci atomiche. Con 429 attendi almeno 60 secondi; limite 100 richieste al minuto per chiave.
5Storno e fattura
DELETE /charges/{externalRef} annulla una propria voce aperta; ripeterlo non duplica l’effetto. Le voci già trasferite in fattura si correggono in Finanze. Addebitare una camera non è un pagamento. Al checkout le voci aperte passano in fattura. Riconcilia ogni registrazione manuale durante un’interruzione prima dell’invio API.
6Webhook e collaudo
I webhook opzionali segnalano charge.posted e charge.cancelled. Imposta un segreto distinto e verifica HMAC-SHA256 sul corpo originale. X-STRYK-Webhook-Id identifica l’abbonamento, non la consegna. Deduplica con event e data.chargeId senza presumere l’ordine. Collauda addebito, ripetizioni, blocchi, limiti, più camere, storno, fatturazione e webhook.