- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette partie, on va ajouter une vue qui va être affichée en cas de paiement réussi.Donc dans mon projet ici, je vais aller dans le fichier de template, dans store,dans le dossier template store ici, on va créer un nouveau fichier qu'on va appeler tout simplementsuccess.html. Et à l'intérieur de ce fichier, on va tout simplement étendre le fichier de base,
00:00:19 :donc le fichier base.html et à l'intérieur du bloc de contenu, on va afficher deux phrases trèssimples qui indiquent que le paiement a été accepté et que les articles sont en route etseront ici d'ici deux semaines. Juste une page très simple de succès pour l'exemple. On va
00:00:34 :ensuite créer notre vue, donc on va l'ajouter tout de suite après ici, on va faire checkout success,on récupère la requête et on va retourner tout simplement notre requête et le fichierhtml en question qui se trouve donc dans store success.html. Et il ne reste plus qu'à ajouter
00:00:51 :le dernier bloc, donc dans url ici, on va créer une vue qu'on va appeler tout simplement carteet on va mettre success et on va donc faire checkout success. Donc là on ne l'a pas encore
00:01:02 :importé, donc on va l'importer en haut de notre script qui est donc juste ici. Après le createcheckout session, on va mettre le checkout success et on va également renommer ça ici pour l'appelercheckout success tout simplement. Et maintenant il ne nous reste plus qu'à modifier la vue
00:01:19 :create checkout session puisque si vous vous souvenez bien ici dans le success url, on avaitmis cette url en attendant, donc cette url par défaut qui est la page d'accueil du site. Donc
00:01:28 :ce qu'on va faire à la place c'est récupérer l'url à partir du nom, donc à partir de ce nomcheckout success. Pour ça je vais utiliser la fonction reverse, donc si elle n'est pas importée
00:01:38 :vous pouvez l'importer en haut de votre script, elle est à l'intérieur de django.urls ici. Doncon va pouvoir passer à cette fonction reverse le nom de l'url qu'on souhaite récupérer, donc çava être checkout-success. Et là on va devoir faire un petit truc en plus puisque en fait cette
00:01:53 :fonction reverse elle va nous retourner une url qui n'est pas absolue. Qu'est ce que je veux direpar là ? En fait on va récupérer uniquement cette partie de l'url et nous ce qui nous intéresse c'est
00:02:03 :pas uniquement la partie après le nom de domaine mais l'url au complet. Donc pour récupérer cetteurl absolue on peut passer par une fonction qui est disponible sur l'objet request et cettefonction elle s'appelle buildAbsoluteUri et on va lui passer donc cette fonction reverse. Donc ça
00:02:19 :ça va juste récupérer le cartes slash success et on va la passer à buildAbsoluteUri et ça va enfait accoler donc le nom du domaine à cette url et comme ça on aura une url absolue. Si vous ne
00:02:31 :passez pas une url absolue ici Stripe ne marchera pas puisqu'en fait on va sortir de notre nom dedomaine, on va être sur notre localhost dans ce cas ci dans un environnement de développement ousur votre domaine si votre site était en ligne. Et ensuite vous avez vu que quand on crée cette
00:02:46 :session de paiement on s'en va sur checkout.stripe.com et donc on a besoin d'une url absolue une foisque le paiement est réussi pour pouvoir être redirigé correctement. Si on donnait juste le
00:02:57 :cartes slash success ce n'est pas une url qui est valide pour un site internet. Donc on passe parrequest.buildAbsoluteUri on lui passe le nom du checkout success et on va vérifier que tout ça
00:03:08 :fonctionne en procédant à un paiement. Donc pour procéder à un paiement si vous retournez dansla documentation de Stripe vous allez voir qu'on nous fournit une carte par défaut donc elle doitêtre quelque part dans la documentation ici il suffit de la trouver. Le numéro par défaut en
00:03:21 :fait c'est 424242 donc j'essaie de vous le retrouver voilà ici testing. Vous voyez qu'en fait on peututiliser donc ce numéro de carte pour la date d'expiration on met juste une date dans le futuret on peut entrer n'importe quel three digit number donc ça c'est le numéro de vérification et pareil
00:03:37 :pour le postal code donc le code postal on peut mettre n'importe quoi et ça va marcher également.Donc on va tester que tout fonctionne je vais me connecter puisque j'étais déconnecté du site onva aller donc dans le panier on a nos deux éléments ici on procède au paiement on est redirigé donc
00:03:51 :bien vers le checkout.stripe on va mettre un email ici donc je vais mettre hello at docstring.frdans les informations de la carte comme je vous disais on va mettre donc le 424242 là on vamettre aussi donc je vais mettre 0 4 24 et je vais mettre 424 en numéro comme ça donc on a juste
00:04:08 :appuyé sur 4 2 plein de fois de suite et ça va remplir tous les champs ici. Le nom ici je vaismettre Thibault et pour le pays on va mettre France voilà comme ça on n'a même pas besoin de rentrerde code postal et je clique donc sur payer pour valider le paiement donc bien entendu ça ne va
00:04:22 :pas effectuer un vrai paiement c'est une carte de test on veut juste vérifier qu'on est bienredirigé vers la bonne vue donc c'est le cas on est redirigé vous voyez bien vers notre nom dedomaine avec slash carte slash success et on lui dit que le paiement a été accepté. Donc ça
00:04:36 :fonctionne maintenant le petit problème c'est que notre panier est toujours visible là je cliquesur voir le panier là en fait tout ce que ça a fait c'est que ça a validé le paiement et nousce qu'on va devoir faire c'est récupérer les événements de Stripe puisqu'à chaque opération
00:04:49 :qui se passe sur Stripe des événements vont être déclenchés donc c'est ce qu'on appelle leswebhooks si vous allez dans la vue développeurs dans événements ici vous allez voir tous lesévénements qui ont été enregistrés par Stripe donc on voit par exemple ici les événements quandon a créé un nouveau produit un nouveau tarif et on voit ici l'événement avec le montant de
00:05:09 :189 qui a été débité à hello.docstring.fr et donc tous ces événements ici on va devoir lesécouter et en fonction du type d'événement donc par exemple on va écouter l'événementcheckout session completed qui signifie que le paiement a été correctement effectué donc c'estune session de checkout qui a été terminée c'est cet événement ici et quand cet événement on va
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.