Il cliente può richiedere la cancellazione dal suo account. L'ordine entra in uno stato di "cancellation_requested", l'admin vede la richiesta e decide se approvarla o rifiutarla. I rimborsi su Stripe e PayPal sono automatici.
Workflow cancellazione lato cliente
Il cliente accede alla sua area account, clicca su un ordine confermato e seleziona "Richiedi cancellazione". Nella dialog deve scegliere la ragione (changed_mind, wrong_item, duplicate, late_delivery, other) e può aggiungere una nota.
La richiesta viene creata immediatamente e inviata all'admin. L'ordine passa in stato pending_cancellation_review. Il cliente vede lo stato della sua richiesta nel suo account.
- Richiesta cancellazione direttamente dal cliente nel suo account
- Scelta della ragione (obbligatoria) e nota opzionale
- Stato tracciato in real-time: pending, approved, rejected
- Notifiche automatiche al cliente su esito della richiesta
Approvazione/rifiuto nell'admin
L'admin vede tutte le richieste di cancellazione in una lista dedicata. Per ogni richiesta può:
- Approvarla: l'ordine passa in stato cancelled, il rimborso viene processato automaticamente sul gateway (Stripe o PayPal) - Rifiutarla: l'admin può scrivere un messaggio di motivo che il cliente riceve via email e vede nel suo account
Se il rimborso fallisce (carta scaduta, limite raggiunto, etc.), l'admin può riprovare il rimborso dal pannello in qualunque momento.
- Lista centralizzata di tutte le richieste pending
- Approva/rifiuta con messaggio personalizzato
- Rimborso automatico su Stripe o PayPal all'approvazione
- Retry manuale del rimborso se primo tentativo fallisce
Processing del rimborso
Quando l'admin approva una cancellazione, Veendo legge il metodo di pagamento dell'ordine (Stripe o PayPal), il transaction ID e l'importo, e invia una richiesta di rimborso al gateway.
Il rimborso usa una idempotencyKey basata sull'ID della richiesta di cancellazione — se la rete fallisce e riprovi, il gateway non crea due rimborsi ma riconosce che è lo stesso. L'admin vede lo stato: success, failed, pending.
- Supporto per Stripe (carte, wallet, 3DS) e PayPal
- Rimborso completo o parziale (se configurato)
- Idempotency key per evitare doppi rimborsi
- Retry automatico e manuale disponibile
Se il rimborso fallisce lato gateway (ad es. carta scaduta), rimane in stato failed e deve essere riprovato manualmente dall'admin quando il problema è risolto.
Notifiche automatiche e comunicazioni
Quando la richiesta viene creata, l'admin riceve una notifica (email + in-app). Quando la richiesta è approvata o rifiutata, il cliente riceve una notifica automatica con lo stato e il messaggio. Se il rimborso è stato completato, il cliente riceve una comunicazione di confermazione.
- Notifica admin quando cliente richiede cancellazione
- Notifica cliente quando richiesta è approvata/rifiutata
- Email di conferma rimborso al cliente
- Tracking visibile nel pannello e nell'area cliente