Pagamenti
Come i pagamenti fluiscono attraverso Fooodo — metodi e valute supportati, Mollie sotto il cofano, instradamento di mance e donazioni, la macchina a stati dei pagamenti e la riconciliazione dei webhook.
Fooodo suddivide la gestione dei pagamenti in un servizio dedicato. L'app menu rivolta al cliente vi fa da proxy; il servizio di pagamento gestisce l'integrazione con Mollie, il perimetro PCI e la riconciliazione dei webhook.
Metodi supportati
In produzione oggi:
- Carta (Visa, Mastercard) e addebito diretto bancario UE
- Apple Pay
- Google Pay
- Trustly — pagamento diretto tramite home banking, principalmente per i mercati nordici e baltici dove l'autenticazione tramite app bancaria è il flusso predefinito per i consumatori
Il catalogo completo dei metodi di Mollie è tecnicamente disponibile attraverso la stessa integrazione; solo i metodi sopra indicati sono collegati al percorso di checkout in produzione. Metodi aggiuntivi (ad es. iDEAL, Bancontact) possono essere abilitati per singola distribuzione.
Il contante è supportato come flusso separato: un cameriere riscuote il contante al tavolo e contrassegna l'ordine come pagato direttamente nell'admin di Fooodo. L'ordine stesso scorre attraverso la stessa macchina a stati; viene bypassato solo il passaggio di creazione del pagamento su Mollie.
Valute supportate
Fooodo regola ogni ordine nella valuta configurata sul ristorante. Mollie supporta più di 30 valute; l'elenco pratico per i mercati serviti oggi da Fooodo:
| Regione | Valute |
|---|---|
| Eurozona | EUR |
| Regno Unito | GBP |
| Europa orientale (non Euro) | PLN (Polonia), CZK (Repubblica Ceca), HUF (Ungheria), RON (Romania), BGN (Bulgaria) |
| Paesi nordici | DKK, NOK, SEK |
| Altro | CHF, USD |
Il catalogo completo di Mollie (31 valute, tra cui AUD, CAD, JPY, ZAR) è tecnicamente disponibile; non tutti i metodi di pagamento coprono tutte le valute. EUR e i principali circuiti di carte (Visa, Mastercard) funzionano ovunque; la compatibilità metodo-valuta viene definita durante l'onboarding per le distribuzioni al di fuori dell'Eurozona.
Per le distribuzioni in Romania in particolare, RON è supportato tramite pagamenti con carta end-to-end; anche Apple Pay e Google Pay accettano carte RON.
Il ciclo di vita del pagamento
| Menu app | Payment service | Mollie | Guest |
|---|---|---|---|
01Create payment for order | |||
02Build payload (tips · donations) and create payment | |||
03Return checkout URL | |||
04Pass checkout URL through | |||
05Redirect guest to Mollie checkout | |||
06Complete payment | |||
07Webhook callback (payment ID only) | |||
08Fetch authoritative status | |||
09Notify status (queued, signed) | |||
10Show success / cancel page | |||
La pipeline è guidata dai webhook ed è idempotente. Mollie può ritentare i webhook in caso di errori transitori; i replay sono sicuri — il servizio si interrompe anticipatamente se lo stato del pagamento non è cambiato dall'ultima esecuzione.
Stati del pagamento
Il servizio di pagamento tiene traccia della propria macchina a stati, parallela alla macchina a stati degli ordini nell'app menu:
| Stato | Significato |
|---|---|
Open | Creato, in attesa di risposta da Mollie |
Pending | Mollie ha accettato, in attesa del cliente |
Authorized | Autorizzato ma non ancora acquisito |
Paid | Acquisito e definitivo |
Failed | Errore terminale |
Cancelled | Annullato dal cliente |
Expired | Pagamento Mollie scaduto |
Cancelled e Expired sono recuperabili — un cliente può riprovare sullo stesso ordine, il che crea un nuovo tentativo di pagamento a fronte dello stesso ordine.
Mance
Le mance vengono raggruppate in un'unica addebito Mollie insieme all'ordine — i clienti non vedono mai un secondo checkout per la mancia. Dopo il regolamento del pagamento, la mancia appare nel POS come riga separata sull'ordine, in modo che i flussi di rendicontazione e distribuzione delle mance funzionino come sempre. Il codice ricavo POS utilizzato per rappresentare i proventi delle mance è impostato per singolo ristorante nell'admin (R-Keeper è il connettore di riferimento attivo per questo; gli altri connettori POS espongono la stessa impostazione tramite il contratto del connettore).
Donazioni
Le donazioni funzionano allo stesso modo: un unico addebito Mollie al cliente, ma la quota della donazione viene instradata verso un account organizzazione separato all'interno di Mollie (la Croce Rossa è l'esempio di riferimento attivo). Dal punto di vista del cliente si tratta di un'unica transazione; dal punto di vista dell'operatore la donazione non compare nei ricavi del ristorante né nei report di vendita del POS — viene registrata in modo netto nei libri contabili dell'organizzazione partner.
Webhook
Sono coinvolti due webhook:
- Mollie → servizio di pagamento. Endpoint pubblico che riceve solo un ID pagamento Mollie. Il servizio chiama quindi l'API di Mollie per recuperare lo stato autorevole — in questo modo una callback contraffatta non può spostare denaro né modificare lo stato dell'ordine. (Questo è il pattern di integrazione standard di Mollie; le loro callback sono intenzionalmente minimali.)
- Servizio di pagamento → app menu. Autenticato tramite Bearer token, segreto per singola distribuzione. Questo è il canale che effettivamente cambia lo stato dell'ordine sul lato dell'app menu.
Se stai gestendo una distribuzione Fooodo, il segreto dell'app menu viene fornito durante l'onboarding. Se stai integrando Fooodo come partner, normalmente non vedrai nessuno dei due.
Cosa vedono i partner
I partner integratori non si integrano direttamente con il servizio di pagamento. Il contratto è:
- Chiami l'API di creazione ordini dell'app menu.
- Ricevi un ordine e (quando è richiesto il pagamento) un URL di checkout.
- Non gestisci dati di carta, non chiami Mollie, non hai bisogno del perimetro PCI.
Questa è una delle ragioni portanti per cui il servizio di pagamento esiste come confine separato.
Rimborsi e storni
I rimborsi non sono una funzionalità di Fooodo: non esiste alcuna azione di rimborso nell'app menu né nell'admin del servizio di pagamento. Un rimborso viene emesso direttamente nella dashboard di Mollie a fronte del pagamento originale, e l'ordine viene stornato nel POS come sempre. I clienti non possono richiedere un rimborso dall'app.
Connettore R-Keeper
L'implementazione di riferimento live del contratto di connettore POS di Fooodo — quali dati attraversano il confine, le cadenze di sincronizzazione, i prezzi fedeltà e come i fallimenti vengono ritentati in produzione.
Sconti, coupon e fidelizzazione
Il manuale operativo per aumentare il traffico e alzare lo scontrino medio tramite Fooodo — sconti a finestra temporale, codici coupon, fidelizzazione tramite POS, cross-sell, mance e donazioni.