From 5707162edd074366d8508fa44f9a1bddcf73f4cf Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 27 Jun 2026 14:12:06 +0100 Subject: [PATCH] readme: rewrite cancellation bullet to match actual code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Code review of HairCutCommandController confirms the previous bullet ('Dans le cas de l'avance ... aucune annulation de la prestation n'est supportée') understated the gap: - Only the client side has any surface area (ClientCancel GET + ClientCancelConfirm POST). - ClientCancelConfirm does _context.HairCutQueries.Remove(query) followed by SaveChangesAsync — no PayPal refund, no logic distinguishing arrhes vs avance. - There is no PerformerCancel / ProviderCancel action anywhere in the codebase (grep -rn PerformerCancel|ProviderCancel returns nothing). - No Refund* call exists anywhere in src/ (grep -rn Refund returns nothing). The README's earlier promises (arrhes +20% on provider cancel, arrhes lost on client cancel, advance non-cancellable) were never implemented. PayPal flow has never been end-to-end tested. Replace with a two-clause statement: current state (partial, no refund, untested), target (RefundTransaction wired + full workflow), link to ROADMAP.md. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 99d388f8..a7f664e6 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ Dans le cas des arrhes, à tout moment, jusqu'avant la date et l'heure de la pre ## Limitations * **Aujourd'hui** : une prestation par commande, sur un axe client → prestataire unique, sans sous-traitance. **Cible roadmap** : montages multi-parties (plusieurs clients et/ou plusieurs fournisseurs collaborant autour d'un même projet, avec sous-traitance validée par le client) — voir la [ROADMAP](../ROADMAP.md). -* Dans le cas de l'avance, une fois le paiement client autorisé, pour le moment, aucune annulation de la prestation n'est supportée. +* **Annulation : partielle et non testée.** Côté client, `HairCutCommandController.ClientCancel` / `ClientCancelConfirm` supprime la commande **sans déclencher de refund PayPal** ni logique arrhes vs avance ; aucune action d'annulation côté prestataire. La description du README (arrhes +20%, avance non-annulable) **n'est pas implémentée**. Cible : câbler `RefundTransaction` et le workflow complet, voir [ROADMAP](../ROADMAP.md). * Une fois passée la date de la prestation, toute reclamation nécessitera l'intervention d'un système auxiliaire (un processus humain?) * Un seul moyen de paiement: PayPal, depuis le Web ou l'application mobile, son interface dite dépréciée NVP/SOAP. * Elle ne prendra pas en charge, du moins pas encore, ni la saisie de structures de projets complexes, ni ticketing associé à la prestation.