33-7 Annuler le paiement
Dans le cas où l'utilisateur décide d'annuler le paiement, on veut s'assurer de marquer l'achat comme étant annulé.
Un statut existe dans la classe StatutPaiement
pour cela, soit ANNULE
.
Pour annuler un paiement, vous pouvez cliquer sur le lien Back
dans la page de paiement Stripe. Le lien vers notre application est au format /achats/annuler?sessionId=...
.
Snowfall.Web.Mvc/Controllers/AchatsController.cs
public async Task<IActionResult> Annuler([FromQuery] string sessionId)
{
// 1. Récupérer l'achat correspondant au sessionId
// 2. Récupérer l'information sur la session Stripe
// 3. Marquer la commande comme annulée seulement si son statut stripe n'est pas "paid".
return RedirectToAction("Index", "Evenements");
}
attention
La clé ici est une fonction de repo du genre MarquerCommeAnnule(string stripeSessionId)
permettant de marquer la commande comme étant annulée.
Vous devrez l'implémenter, tout comme MarquerCommePaye
.
Test
Le résultat, en appuyant sur le bouton Back
, sera un achat avec le statut Annule
.