Quando abbiamo creato ZAC!, il nostro gestionale per sagre e feste, l'idea principale a cui volevamo far fronte era quella di risolvere il problema delle interminabili code per ordinare, che spesso rovinano l'esperienza di partecipazione a questi eventi. La nostra stessa mascotte, un procione che salta la propria coda, con questo gioco di parole rappresenta perfettamente questo concetto: Salta la coda!
Con ZAC! abbiamo voluto creare un sistema che permettesse agli utenti di ordinare e pagare direttamente dal proprio dispositivo, senza dover attendere in fila.
Uno degli aspetti centrali del nostro gestionale per sagre e feste, sviluppato interamente in Ruby on Rails, è la gestione dei pagamenti digitali attraverso Stripe, una delle piattaforme più affidabili e avanzate al mondo per l'elaborazione dei pagamenti online.
L'integrazione con Stripe è stata progettata per essere sicura, veloce e trasparente. Utilizziamo le Stripe Checkout Sessions, che ci permettono di creare un flusso di pagamento hostato direttamente da Stripe, garantendo la piena conformità agli standard di sicurezza senza dover gestire noi direttamente i dati sensibili delle carte di credito.
Questo significa che i pagamenti vengono eseguiti in un ambiente protetto, con supporto a metodi di pagamento moderni come Apple Pay, Google Pay, carte di credito e debito, e persino wallet locali, a seconda del dispositivo e del contesto dell'utente.
Al momento della conferma dell'ordine sulla piattaforma, viene generata una sessione di pagamento Stripe e l'utente viene rediretto alla pagina sicura di checkout. Al termine della transazione, Stripe invia automaticamente una webhook al nostro backend, che aggiorna in tempo reale lo stato dell'ordine e attiva tutte le notifiche e flussi connessi.
Un altro punto di forza dell'applicazione è la flessibilità nella modalità d'accesso: l'utente può ordinare sia come guest, senza dover creare un account, sia come utente registrato, accedendo a funzionalità aggiuntive come la cronologia ordini, la ricezione di notifiche e la personalizzazione dell'esperienza.
In entrambi i casi, al termine dell'ordine viene inviata una mail di conferma, contenente il riepilogo dell'acquisto e un codice identificativo. Quando l'ordine viene segnato come pronto, l'utente riceve una seconda mail di avviso. Se ha effettuato l'accesso con un account registrato, riceverà anche una notifica real-time sulla piattaforma e, quando saremo pronti a rilasciare l'applicazione scaricabile, anche sul proprio dispositivo.
La piattaforma è progettata per ricevere e gestire in tempo reale le notifiche inviate da Stripe, note come webhook. Questi webhook rappresentano uno snodo cruciale nell'intero flusso dell'ordine: ci permettono di rilevare in modo sicuro e inequivocabile l'avvenuto pagamento e, solo a quel punto, procedere con la conferma e il consolidamento dell'ordine nel sistema. In altre parole, finché Stripe non comunica ufficialmente che una transazione è stata completata con successo, la piattaforma non genera il numero d'ordine né attiva le successive operazioni di fulfillment.
Questo meccanismo è stato progettato per offrire massima affidabilità e resilienza, anche in scenari complicati: ad esempio, se un utente chiude accidentalmente la finestra del browser immediatamente dopo aver pagato, oppure se si verifica un'interruzione della connessione tra client e server al momento del redirect finale. In questi casi, il webhook di Stripe, che agisce lato server, garantisce che l'evento venga comunque intercettato e processato correttamente.
L'elaborazione di questi eventi avviene in modo completamente automatizzato e asincrono. Il nostro sistema, una volta ricevuta la notifica di pagamento riuscito, si occupa non solo di marcare l'ordine come pagato e confermato, ma anche di generare un numero d'ordine univoco, creare un eventuale codice QR per il ritiro, notificare l'utente e inserire il nuovo ordine nel ciclo di lavorazione della cucina o del banco.
Tutto questo avviene in pochissimi secondi, senza necessità di intervento manuale e con tracciabilità completa. I fallback previsti in caso di errore rendono il sistema tollerante ai guasti e garantiscono la coerenza dello stato degli ordini anche in presenza di anomalie temporanee nei flussi di rete o nelle comunicazioni tra i servizi coinvolti.
Molti competitor nel settore offrono soluzioni parziali: piattaforme per prenotare il proprio ordine, ma che richiedono comunque il pagamento in cassa, vanificando in parte la comodità del processo digitale.
Con ZAC!, invece, tutto avviene direttamente online: dalla selezione dei prodotti al pagamento, fino al ritiro al punto di consegna, senza bisogno di fare code né di tirare fuori il portafoglio in mezzo alla folla.
Questo approccio ha vantaggi evidenti:
Inoltre, Stripe offre strumenti avanzati per la reportistica, il ricalcolo automatico dell'IVA, e l'integrazione con sistemi contabili esterni — funzionalità che rendono ZAC! una piattaforma completa, in grado di adattarsi non solo a piccole sagre di quartiere, ma anche a eventi di scala medio-grande.
Con il successo del nostro primo test, siamo entusiasti di continuare a sviluppare ZAC! e di portarlo a nuove feste e sagre in tutta Italia.
Il nostro obiettivo è rendere questa piattaforma il punto di riferimento per la gestione digitale degli eventi, semplificando la vita a organizzatori e visitatori.
Se siete organizzatori di sagre, feste o eventi e volete scoprire come ZAC! può semplificare la vostra vita, non esitate a parlarci del vostro Evento. Siamo pronti a supportarvi nella digitalizzazione della vostra manifestazione, portando innovazione e tecnologia al servizio della tradizione.
Questo è il sito ufficiale di ZAC!, mentre qui spieghiamo come è nato ed è stato realizzato il progetto.
Vuoi saperne di più su ZAC! o su come possiamo aiutarti a digitalizzare la tua festa? Oppure hai un'idea su un sito web e vuoi una mano a realizzarlo?
Contattaci
Tra artigianato e Youtube
Una memoria collettiva digitale
Monitoraggio rendite dell'affitto di proprietà
Lavorare da remoto a Venezia
Riabilitazione da remoto
Dispositivo medico per il movimento
Il valore della relazione
Tra educazione e natura
Autenticazione SPID per Ruby on Rails
Un magico mondo di divertimento
Calcio e data visualization
Prenota un tour per il Lido