Aller au contenu principal

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.

Imgur