Cancellazioni e rimborsi ordini

Richieste di cancellazione iniziate dal cliente con workflow di approvazione, gestione rimborso e comunicazioni automatiche.

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