Skip to main content
Quatre scénarios couvrent les sorties non-nominales de la machine à états avant LIVREE.

Sc 3 — Annulation pré-dépôt par expéditeur

Logique

  • Annulation autorisée tant que dépôt non effectué (EN_ATTENTE ou ACCEPTEE)
  • Pénalité timing-based selon le délai entre booking et annulation (commit 087b4f2)
  • Stripe refund 100% du PaymentIntent capturé

Endpoint

Référence : commit 087b4f2

Sc 4 — Refus transporteur

Anti-abus

  • Compteur mensuel basé sur updatedAt JPA (zero migration)
  • Seuil 3 refus / mois → alerte admin + email carrier
  • 6 tests Mockito + 84 tests reservation verts
Référence : commit 3572e91

Sc 5 — Annulation post-dépôt → forcée vers litige

Si le sender tente d’annuler après le dépôt (état EN_COURS_DE_LIVRAISON), le système bloque l’annulation directe et force l’ouverture d’un litige : on ne peut plus rembourser sans intervention humaine car le colis est physiquement en transit. Référence : commit 087b4f2 (mêmes commits que Sc 3 — gate timing-based)

Sc 17 — Destinataire absent à la livraison

Le carrier arrive au point de livraison mais le recipient est absent. Le système autorise 3 tentatives maximum avant de basculer le booking en échec.

Endpoint

Erreur après 3 tentatives

Tests

  • 6 tests Mockito + 78 tests reservation verts
Référence : commit f1c9bf7

Récap effets Stripe par scénario