﻿1
00:00:01,060 --> 00:00:03,650
‫Instructeur : Dans cette vidéo, intégrons

2
00:00:03,650 --> 00:00:07,240
‫donc Stripe à notre backend en créant ce point de

3
00:00:07,240 --> 00:00:10,983
‫terminaison d'API qui créera et renverra une session de paiement Stripe.

4
00:00:12,870 --> 00:00:15,717
‫Et donc à ce stade, nous allons commencer à

5
00:00:15,717 --> 00:00:17,110
‫créer notre prochaine ressource.

6
00:00:17,110 --> 00:00:18,860
‫Et voilà les réservations.

7
00:00:18,860 --> 00:00:21,413
‫Et je vais commencer ici par les itinéraires de réservation.

8
00:00:24,995 --> 00:00:25,828
‫Donc

9
00:00:27,200 --> 00:00:29,100
‫réservation d'itinéraires. js.

10
00:00:29,100 --> 00:00:31,660
‫Et nous l'avons fait tellement de fois maintenant.

11
00:00:31,660 --> 00:00:33,150
‫Alors je vais juste copier tout

12
00:00:33,150 --> 00:00:34,480
‫ce code et le

13
00:00:35,890 --> 00:00:37,843
‫mettre ici dans les itinéraires de réservation.

14
00:00:39,410 --> 00:00:42,073
‫Et puis supprimez simplement tout cela.

15
00:00:44,230 --> 00:00:45,923
‫Et aussi celui-ci.

16
00:00:47,310 --> 00:00:50,060
‫Nous n'avons pas non plus besoin de paramètres

17
00:00:51,000 --> 00:00:54,530
‫de fusion et nous aurons un contrôleur de réservation au lieu d'un

18
00:00:54,530 --> 00:00:55,593
‫contrôleur de révision.

19
00:00:57,850 --> 00:01:02,203
‫Donc contrôleur de réservation, créons-le en fait.

20
00:01:03,844 --> 00:01:04,677
‫Alors. js qui

21
00:01:09,317 --> 00:01:10,170
‫semble correct et intégrons

22
00:01:11,520 --> 00:01:12,570
‫également ce droit dans app. js.

23
00:01:13,460 --> 00:01:17,503
‫Et mettons cela juste ici

24
00:01:18,970 --> 00:01:20,970
‫après le routeur d'examen.

25
00:01:20,970 --> 00:01:22,423
‫Donc,

26
00:01:25,430 --> 00:01:29,940
‫voici encore les réservations, puis bien sûr, intégrez

27
00:01:32,100 --> 00:01:34,370
‫cela dans notre API.

28
00:01:34,370 --> 00:01:35,513
‫Donc réservations

29
00:01:40,190 --> 00:01:42,220
‫et ici routeur de réservations.

30
00:01:43,360 --> 00:01:44,913
‫Et je pense que cela ne devrait être que de la réservation.

31
00:01:46,970 --> 00:01:49,223
‫Alors corrigeons cela ici aussi.

32
00:01:50,170 --> 00:01:52,703
‫Et en effet, nous l'appelons routeur de réservation.

33
00:01:54,180 --> 00:01:57,010
‫Et pareil ici, ce ne sont pas des

34
00:01:57,010 --> 00:01:58,880
‫réservations mais des réservations d'itinéraires.

35
00:01:58,880 --> 00:02:00,700
‫Alors donnez-lui une sauvegarde.

36
00:02:00,700 --> 00:02:01,863
‫Fermez celui-ci et

37
00:02:04,100 --> 00:02:05,990
‫celui-ci et celui-ci ici aussi.

38
00:02:05,990 --> 00:02:09,090
‫Et maintenant, allons de l'avant et créons

39
00:02:09,090 --> 00:02:11,670
‫notre premier itinéraire ici.

40
00:02:11,670 --> 00:02:13,083
‫Alors routeur. get et l'itinéraire qu'il

41
00:02:14,980 --> 00:02:19,980
‫créera ici ne suivra encore une fois pas le

42
00:02:20,930 --> 00:02:24,160
‫principe de repos, car celui-ci ne concernera pas vraiment la création,

43
00:02:24,160 --> 00:02:26,630
‫l'obtention ou la mise à jour d'une réservation.

44
00:02:26,630 --> 00:02:30,080
‫Au lieu de cela, cet itinéraire permettra uniquement au

45
00:02:30,080 --> 00:02:33,060
‫client d'obtenir une session de paiement.

46
00:02:33,060 --> 00:02:35,390
‫Et appelons donc cette

47
00:02:35,390 --> 00:02:37,140
‫session de paiement.

48
00:02:38,810 --> 00:02:41,733
‫Ensuite, nous devons protéger cette route

49
00:02:43,060 --> 00:02:45,600
‫afin que seuls les utilisateurs

50
00:02:45,600 --> 00:02:48,820
‫authentifiés puissent réellement obtenir une session de paiement.

51
00:02:48,820 --> 00:02:50,380
‫Alors ça a du sens, non ?

52
00:02:50,380 --> 00:02:51,863
‫Et puis ajoutez un contrôleur de réservation.

53
00:02:52,840 --> 00:02:55,603
‫Nous allons créer un gestionnaire

54
00:02:56,460 --> 00:02:59,253
‫de route appelé get checkout session.

55
00:03:02,477 --> 00:03:06,558
‫Très bien.

56
00:03:06,558 --> 00:03:07,391
‫Alors

57
00:03:08,512 --> 00:03:12,422
‫copions celui-ci et créons-le ici à exports. getCheckoutSession puis la requête répond

58
00:03:12,422 --> 00:03:14,839
‫ensuite.

59
00:03:16,600 --> 00:03:19,513
‫Et maintenant commençons à travailler.

60
00:03:21,910 --> 00:03:24,740
‫Maintenant, en fait, il y a une autre chose que nous devons faire

61
00:03:24,740 --> 00:03:27,230
‫ici dans les routes qui est de spécifier un paramètre d'URL.

62
00:03:27,230 --> 00:03:31,550
‫Et donc ça va être l'ID de la tournée.

63
00:03:31,550 --> 00:03:34,083
‫D'accord, donc, en gros, nous voulons

64
00:03:35,970 --> 00:03:39,350
‫que le client envoie l'ID de la visite actuellement réservée.

65
00:03:39,350 --> 00:03:42,920
‫Et c'est pour que nous puissions remplir la session de paiement avec toutes

66
00:03:42,920 --> 00:03:46,010
‫les données nécessaires, telles que le nom du tour et

67
00:03:46,010 --> 00:03:48,230
‫le prix du tour et tout ça.

68
00:03:48,230 --> 00:03:52,220
‫Très bien, nous avons maintenant accès à l'identifiant de la tournée dans

69
00:03:52,220 --> 00:03:55,780
‫cette fonction de gestionnaire et donc la première chose que nous

70
00:03:55,780 --> 00:03:57,470
‫allons faire est de

71
00:03:57,470 --> 00:04:00,030
‫trouver cette tournée dans notre base de données.

72
00:04:00,030 --> 00:04:02,610
‫Très bien, donc pour cela nous avons bien sûr besoin du modèle de tournée.

73
00:04:02,610 --> 00:04:06,260
‫Venons-en donc au contrôleur de tournée et

74
00:04:06,260 --> 00:04:09,210
‫tirons cela de là.

75
00:04:09,210 --> 00:04:11,190
‫Nous aurons également besoin de

76
00:04:11,190 --> 00:04:14,120
‫ce catchAsync et donc vraiment de tout cela.

77
00:04:14,120 --> 00:04:15,793
‫Je copie donc tout et même si je

78
00:04:16,870 --> 00:04:18,510
‫n'en ai pas besoin tout de suite,

79
00:04:18,510 --> 00:04:20,730
‫j'en aurai probablement besoin un peu plus tard de toute façon.

80
00:04:20,730 --> 00:04:23,363
‫Très bien.

81
00:04:24,629 --> 00:04:25,462
‫Disposons donc à nouveau nos étapes ici.

82
00:04:27,840 --> 00:04:30,600
‫Alors obtenez la visite actuellement réservée.

83
00:04:30,600 --> 00:04:35,600
‫Ensuite, dans un deuxième temps, nous créons la

84
00:04:38,250 --> 00:04:43,250
‫session de paiement et l'envoyons enfin au client.

85
00:04:45,550 --> 00:04:47,633
‫Très bien, donc la première étape est vraiment facile.

86
00:04:53,376 --> 00:04:57,043
‫Alors on va attendre.

87
00:04:59,930 --> 00:05:01,053
‫Donc tournée. findbyId

88
00:05:02,140 --> 00:05:06,120
‫qui est req. paramètres. tourId.

89
00:05:07,210 --> 00:05:10,173
‫D'accord, c'est donc

90
00:05:14,790 --> 00:05:18,112
‫le nom que nous lui avons donné dans le paramètre URL.

91
00:05:18,112 --> 00:05:19,810
‫Et bien sûr, il s'agit

92
00:05:19,810 --> 00:05:24,250
‫maintenant d'une fonction asynchrone avec un catchAsync à côté ou autour de cela, en fait.

93
00:05:25,120 --> 00:05:29,623
‫Super, maintenant, créons cette session ici.

94
00:05:33,170 --> 00:05:36,360
‫Et pour cela, nous devons en fait installer

95
00:05:36,360 --> 00:05:38,410
‫ce package NPM de lecteur.

96
00:05:38,410 --> 00:05:40,323
‫Alors faisons-le ici.

97
00:05:41,920 --> 00:05:45,650
‫NPM installe Stripe.

98
00:05:45,650 --> 00:05:50,290
‫Et en attendant, nous allons aller sur notre tableau de bord Stripe

99
00:05:50,290 --> 00:05:54,000
‫et récupérer notre clé secrète à partir d'ici.

100
00:05:54,000 --> 00:05:56,003
‫Alors, appuyez simplement sur

101
00:05:57,030 --> 00:05:59,280
‫ce bouton ici, puis copiez-le.

102
00:05:59,280 --> 00:06:03,040
‫Et vous voyez qu'ici, dans les touches, il

103
00:06:03,040 --> 00:06:04,630
‫est écrit test.

104
00:06:04,630 --> 00:06:06,380
‫Et encore une fois, ceux-ci sont

105
00:06:06,380 --> 00:06:09,920
‫juste pour les tests, puis une fois que votre compte Stripe est actif,

106
00:06:09,920 --> 00:06:12,530
‫vous pouvez alors obtenir vos clés API en direct.

107
00:06:12,530 --> 00:06:14,993
‫Bon, maintenant, comme pour toutes les autres

108
00:06:16,390 --> 00:06:19,230
‫clés, nous les mettrons ici dans notre fichier de configuration.

109
00:06:19,230 --> 00:06:22,743
‫Donc, la clé secrète Stripe est égale à

110
00:06:25,490 --> 00:06:26,370
‫celle-ci.

111
00:06:29,490 --> 00:06:32,670
‫Et ce n'est pas correct ici.

112
00:06:32,670 --> 00:06:34,120
‫Très bien, alors copiez celui-ci.

113
00:06:40,700 --> 00:06:43,163
‫Retour à notre contrôleur de réservation.

114
00:06:44,730 --> 00:06:46,610
‫Exigons maintenant que ce package

115
00:06:46,610 --> 00:06:49,400
‫de lecteur a été installé avec succès ici.

116
00:06:49,400 --> 00:06:52,620
‫Et juste avec tous les autres packages avant, assurez-vous

117
00:06:52,620 --> 00:06:54,810
‫que vous êtes bien sur la

118
00:06:54,810 --> 00:06:56,780
‫même version que moi.

119
00:06:56,780 --> 00:06:58,030
‫Et vous voyez que je suis ici au tout nouveau 7. 0. 0.

120
00:06:59,050 --> 00:07:02,137
‫C'est donc vraiment nouveau.

121
00:07:03,120 --> 00:07:04,730
‫Et en fait, c'est parce que

122
00:07:04,730 --> 00:07:07,650
‫beaucoup de choses ont changé avec Stripe il y a quelques jours.

123
00:07:07,650 --> 00:07:10,370
‫J'ai donc dû modifier quelques-unes de ces implémentations.

124
00:07:10,370 --> 00:07:13,113
‫Quoi qu'il en

125
00:07:15,190 --> 00:07:20,190
‫soit, const stripe égal nécessite puis stripe.

126
00:07:24,440 --> 00:07:26,000
‫Maintenant, ceci ici exposera une fonction essentiellement.

127
00:07:26,000 --> 00:07:28,890
‫Et généralement, ce que nous faisons tout de suite, c'est de

128
00:07:28,890 --> 00:07:30,940
‫passer notre clé secrète directement dans cela.

129
00:07:30,940 --> 00:07:34,670
‫Et cela nous donnera alors un objet Stripe

130
00:07:34,670 --> 00:07:37,020
‫avec lequel nous pourrons travailler.

131
00:07:37,020 --> 00:07:38,123
‫Alors que maintenant au processus. env. STRIPE_SECRET_KEY.

132
00:07:39,410 --> 00:07:43,057
‫D'accord, et maintenant utilisons ça.

133
00:07:46,930 --> 00:07:51,093
‫Alors on dit Stripe. vérifier. session. créer.

134
00:07:52,700 --> 00:07:57,700
‫Et puis l'objet habituel des options.

135
00:08:02,450 --> 00:08:06,040
‫Très bien, il y a maintenant une tonne d'options

136
00:08:06,040 --> 00:08:08,680
‫que nous pouvons définir ici.

137
00:08:08,680 --> 00:08:10,060
‫Mais seulement trois d'entre eux sont nécessaires.

138
00:08:10,060 --> 00:08:12,290
‫Le premier concerne donc les types de méthodes de paiement.

139
00:08:12,290 --> 00:08:15,083
‫Donc types de moyens de paiement.

140
00:08:16,010 --> 00:08:20,213
‫C'est donc un tableau où nous pouvons spécifier plusieurs types

141
00:08:22,950 --> 00:08:26,740
‫et la carte est pour la carte de crédit.

142
00:08:26,740 --> 00:08:28,920
‫Et pour le moment, ce sont en fait toutes

143
00:08:28,920 --> 00:08:31,780
‫les options de paiement que nous pouvons utiliser pour le paiement Stripe.

144
00:08:31,780 --> 00:08:34,330
‫Mais j'ai lu qu'à l'avenir, ils en ajouteraient beaucoup plus.

145
00:08:34,330 --> 00:08:38,130
‫Donc, vous pouvez vous informer par cela.

146
00:08:38,130 --> 00:08:41,550
‫Ensuite, nous devons spécifier l'URL de réussite.

147
00:08:41,550 --> 00:08:44,023
‫Et c'est donc essentiellement l'URL qui sera

148
00:08:46,240 --> 00:08:49,350
‫appelée dès qu'une carte de crédit aura été débitée avec succès.

149
00:08:49,350 --> 00:08:52,690
‫Ainsi, dès que l'achat sera réussi, l'utilisateur

150
00:08:52,690 --> 00:08:55,780
‫sera redirigé vers cette URL.

151
00:08:55,780 --> 00:08:58,860
‫Et pour l'instant, spécifions simplement cela comme notre page d'accueil.

152
00:08:58,860 --> 00:09:02,123
‫Très bien et nous allons le

153
00:09:03,060 --> 00:09:06,290
‫faire comme avant avec req. protocol:// puis

154
00:09:06,290 --> 00:09:10,963
‫demande. obtenir l'hôte.

155
00:09:14,270 --> 00:09:18,663
‫Donc, en gros, juste notre URL d'accueil.

156
00:09:20,670 --> 00:09:23,403
‫Ensuite, nous devons également spécifier l'URL d'annulation.

157
00:09:24,330 --> 00:09:27,707
‫Alors juste comme ça.

158
00:09:30,530 --> 00:09:31,773
‫Et celui-ci sera similaire.

159
00:09:33,010 --> 00:09:34,763
‫Et donc, en gros, c'est la page

160
00:09:36,260 --> 00:09:38,800
‫sur laquelle l'utilisateur se rend s'il choisit d'annuler le paiement en cours.

161
00:09:38,800 --> 00:09:41,980
‫Et en fait, faisons-leur aller sur la page de

162
00:09:41,980 --> 00:09:44,610
‫la tournée où ils se trouvaient auparavant.

163
00:09:44,610 --> 00:09:46,360
‫Et donc c'est essentiellement une tournée / une tournée. limace.

164
00:09:46,360 --> 00:09:50,493
‫Ensuite, nous pouvons également spécifier l'e-mail du client.

165
00:09:56,040 --> 00:09:59,870
‫Et donc c'est très pratique car bien sûr nous avons

166
00:09:59,870 --> 00:10:02,410
‫déjà accès à l'email du client.

167
00:10:02,410 --> 00:10:05,380
‫Et ainsi, avec cela, nous pouvons économiser une étape à

168
00:10:05,380 --> 00:10:08,090
‫l'utilisateur et rendre l'expérience de paiement beaucoup plus fluide.

169
00:10:08,090 --> 00:10:11,080
‫Très bien, alors n'oubliez pas qu'il s'agit d'un itinéraire protégé.

170
00:10:11,080 --> 00:10:15,230
‫Et donc comme toujours l'utilisateur est déjà à la demande.

171
00:10:15,230 --> 00:10:19,320
‫Et donc on peut dire demande. utilisateur. e-mail.

172
00:10:19,320 --> 00:10:23,763
‫Ensuite, nous pouvons

173
00:10:25,030 --> 00:10:28,860
‫également spécifier un champ personnalisé appelé ID de référence client.

174
00:10:28,860 --> 00:10:31,560
‫Et ça a l'air un peu bizarre

175
00:10:31,560 --> 00:10:34,610
‫mais en fait ça va être vraiment important pour nous.

176
00:10:34,610 --> 00:10:36,340
‫Ce champ va donc nous permettre

177
00:10:36,340 --> 00:10:39,900
‫de transmettre des données sur la session que nous sommes en train de créer.

178
00:10:39,900 --> 00:10:42,430
‫Et c'est important car plus tard, une fois

179
00:10:42,430 --> 00:10:44,400
‫l'achat réussi, nous aurons à

180
00:10:44,400 --> 00:10:46,530
‫nouveau accès à l'objet de session.

181
00:10:46,530 --> 00:10:50,250
‫Et d'ici là, nous voulons créer une nouvelle réservation

182
00:10:50,250 --> 00:10:52,830
‫dans notre base de données.

183
00:10:52,830 --> 00:10:54,400
‫Souvenez-vous donc du schéma que je

184
00:10:54,400 --> 00:10:56,380
‫vous ai montré lors de la dernière leçon.

185
00:10:56,380 --> 00:10:57,610
‫Fondamentalement, ce dont je parle

186
00:10:57,610 --> 00:10:59,240
‫ici est la dernière étape de ce diagramme.

187
00:10:59,240 --> 00:11:01,890
‫Et rappelez-vous également que cela

188
00:11:01,890 --> 00:11:04,670
‫ne fonctionnera qu'avec les sites Web déployés.

189
00:11:04,670 --> 00:11:06,130
‫Mais encore, préparons-nous déjà pour cela ici.

190
00:11:06,130 --> 00:11:08,900
‫D'accord, donc pour créer une nouvelle réservation dans notre base de

191
00:11:08,900 --> 00:11:12,860
‫données, nous aurons besoin de l'identifiant de l'utilisateur, de l'identifiant de la visite et du prix.

192
00:11:12,860 --> 00:11:16,890
‫Vous vous en souvenez ?

193
00:11:16,890 --> 00:11:18,260
‫Et dans cette

194
00:11:18,260 --> 00:11:20,460
‫session, nous avons déjà accès à l'e-mail

195
00:11:20,460 --> 00:11:22,315
‫de l'utilisateur et à partir de

196
00:11:22,315 --> 00:11:26,290
‫là, nous pouvons ensuite recréer l'ID de l'utilisateur car l'e-mail ici est unique.

197
00:11:26,290 --> 00:11:28,520
‫Nous préciserons également le prix du tour

198
00:11:28,520 --> 00:11:31,900
‫ici dans une seconde et il ne manque donc que l'identifiant du tour.

199
00:11:31,900 --> 00:11:35,100
‫Et c'est donc ce que nous allons spécifier ici

200
00:11:35,100 --> 00:11:37,130
‫sur ce champ personnalisé essentiellement.

201
00:11:37,130 --> 00:11:39,263
‫C'est ce qu'on appelle l'ID de référence client.

202
00:11:41,320 --> 00:11:45,763
‫Et tout ce que je viens d'expliquer auparavant aura en réalité beaucoup plus de sens

203
00:11:47,500 --> 00:11:49,750
‫une fois que nous aurons réellement mis

204
00:11:49,750 --> 00:11:52,210
‫en œuvre cette dernière étape de création d'une réservation

205
00:11:52,210 --> 00:11:54,630
‫dans la base de données, n'est-ce pas ?

206
00:11:54,630 --> 00:11:58,240
‫Quoi qu'il en soit, cet ID de tournée est sur demande. paramètres. tourId.

207
00:11:58,240 --> 00:12:02,667
‫Très bien, et maintenant

208
00:12:05,371 --> 00:12:08,080
‫enfin, nous allons préciser quelques détails sur le produit lui-même.

209
00:12:08,080 --> 00:12:11,010
‫Donc notre tournée dans ce cas.

210
00:12:11,010 --> 00:12:13,093
‫Et c'est ce qu'on appelle

211
00:12:14,100 --> 00:12:17,720
‫des éléments de ligne qui accepte un tableau d'objets.

212
00:12:17,720 --> 00:12:19,700
‫Donc, en gros, un par article

213
00:12:19,700 --> 00:12:22,330
‫et donc dans notre cas, ce ne sera qu'un.

214
00:12:22,330 --> 00:12:24,733
‫Donc on doit préciser le nom

215
00:12:25,940 --> 00:12:28,640
‫du produit et donc c'est en tournée. nom et comme toujours, nous ajoutons également

216
00:12:30,160 --> 00:12:34,810
‫la visite à ce nom.

217
00:12:34,810 --> 00:12:39,423
‫Ensuite, nous pouvons également spécifier une description.

218
00:12:41,720 --> 00:12:43,933
‫Et tous ces noms de champs ici viennent vraiment de Stripe.

219
00:12:45,840 --> 00:12:48,950
‫Nous ne pouvons donc pas créer nos propres champs.

220
00:12:48,950 --> 00:12:51,200
‫Donc, si vous essayez de faire cela, vous obtiendrez vraiment une erreur.

221
00:12:51,200 --> 00:12:54,683
‫D'accord, donc dans la description je mettrai le résumé de

222
00:12:55,530 --> 00:12:57,510
‫la tournée, donc cette jolie courte

223
00:12:57,510 --> 00:12:59,373
‫phrase qui décrira chaque tournée.

224
00:13:00,540 --> 00:13:05,540
‫Ensuite, nous pouvons également spécifier un tableau d'images.

225
00:13:06,400 --> 00:13:10,750
‫Maintenant, ces images ici, elles doivent être des images en direct.

226
00:13:10,750 --> 00:13:14,120
‫Donc, en gros, des images hébergées sur

227
00:13:14,120 --> 00:13:17,260
‫Internet, car Stripe téléchargera en fait cette

228
00:13:17,260 --> 00:13:20,090
‫image sur son propre serveur.

229
00:13:20,090 --> 00:13:21,680
‫Et c'est donc une autre des choses que

230
00:13:21,680 --> 00:13:23,740
‫nous ne pouvons vraiment faire qu'une fois le site Web déployé.

231
00:13:23,740 --> 00:13:27,470
‫Mais pour l'instant, en tant qu'espace réservé, j'utiliserai essentiellement ceux de

232
00:13:27,470 --> 00:13:30,680
‫notre exemple de site Web hébergé sur natours. dév.

233
00:13:30,680 --> 00:13:34,760
‫Alors allons sur ce site.

234
00:13:34,760 --> 00:13:36,623
‫C'est donc celui-ci chez natours. dév.

235
00:13:38,100 --> 00:13:41,050
‫Et l'image que je vais choisir est l'image de couverture.

236
00:13:41,050 --> 00:13:44,500
‫Inspectons donc cette image.

237
00:13:44,500 --> 00:13:46,283
‫Donc celui-ci ici et copiez l'adresse du lien ici.

238
00:13:47,130 --> 00:13:51,103
‫Très bien.

239
00:13:52,396 --> 00:13:53,710
‫Il s'agit donc

240
00:13:53,710 --> 00:13:58,140
‫d'un tableau car nous pouvons spécifier plusieurs images mais nous n'en voulons vraiment qu'une.

241
00:13:58,140 --> 00:14:00,673
‫Et effectivement nous avons des natours. dev/images/tours puis le nom

242
00:14:01,790 --> 00:14:05,950
‫de l'image.

243
00:14:05,950 --> 00:14:07,940
‫Et celui-ci je le remplacerai simplement par tour. couverture de l'image.

244
00:14:07,940 --> 00:14:11,810
‫Et ça va marcher

245
00:14:11,810 --> 00:14:14,950
‫parce que les noms des images sur natours. dev sont exactement les mêmes que nous avons

246
00:14:14,950 --> 00:14:18,920
‫ici dans notre projet.

247
00:14:18,920 --> 00:14:20,053
‫Donc tournée. imageCouverture.

248
00:14:21,560 --> 00:14:23,500
‫C'est donc une autre

249
00:14:26,580 --> 00:14:29,980
‫chose que nous devons réellement changer une fois que nous avons mis notre site Web en production.

250
00:14:29,980 --> 00:14:32,520
‫Et je garde en fait une

251
00:14:32,520 --> 00:14:35,630
‫liste de ces trucs pour qu'on n'oublie rien.

252
00:14:35,630 --> 00:14:37,280
‫Quoi qu'il en soit, la prochaine étape est le montant.

253
00:14:38,450 --> 00:14:40,760
‫Donc, en gros, le prix

254
00:14:40,760 --> 00:14:42,940
‫du produit acheté.

255
00:14:42,940 --> 00:14:44,163
‫C'est donc la tournée. prix et maintenant nous

256
00:14:45,010 --> 00:14:47,990
‫devons multiplier cela par 100.

257
00:14:47,990 --> 00:14:50,660
‫Parce que ce montant devrait être en cents.

258
00:14:50,660 --> 00:14:53,673
‫Et donc un dollar ou un euro ou vraiment

259
00:14:54,870 --> 00:14:57,270
‫la plupart des devises ont 100 cents.

260
00:14:57,270 --> 00:15:00,640
‫Ainsi, un dollar équivaut à 100 cents.

261
00:15:00,640 --> 00:15:02,920
‫Et donc pour le convertir en cents, il suffit de le multiplier par 100.

262
00:15:02,920 --> 00:15:06,663
‫Ensuite, nous devons également spécifier la devise.

263
00:15:08,040 --> 00:15:11,790
‫Et c'est donc dans ce cas USD.

264
00:15:11,790 --> 00:15:14,110
‫Mais cela pourrait aussi être

265
00:15:14,110 --> 00:15:18,850
‫comme, pour l'euro c'est l'euro et pour d'autres devises, vous devriez

266
00:15:20,439 --> 00:15:23,560
‫probablement jeter un œil à la documentation.

267
00:15:23,560 --> 00:15:25,090
‫Alors bien sûr, je ne

268
00:15:25,090 --> 00:15:27,670
‫peux pas couvrir toutes les devises qui existent, n'est-ce pas ?

269
00:15:27,670 --> 00:15:31,000
‫Quoi qu'il en soit, enfin, nous spécifions également la quantité.

270
00:15:31,000 --> 00:15:35,760
‫Et ce n'est donc qu'une tournée dans ce cas.

271
00:15:35,760 --> 00:15:38,263
‫C'est donc ça en fait.

272
00:15:41,110 --> 00:15:43,370
‫Et donc fondamentalement, cette

273
00:15:43,370 --> 00:15:47,230
‫partie ici est l'information sur la session elle-même.

274
00:15:47,230 --> 00:15:48,800
‫Et puis voici les informations

275
00:15:48,800 --> 00:15:51,630
‫sur le produit que l'utilisateur est sur le point d'acheter.

276
00:15:51,630 --> 00:15:54,060
‫Très bien, maintenant, stockons la session.

277
00:15:54,060 --> 00:15:56,883
‫Alors const session et maintenant on

278
00:15:57,810 --> 00:15:59,090
‫attend ça.

279
00:16:00,270 --> 00:16:03,000
‫Donc, cette création ici renvoie essentiellement une

280
00:16:03,000 --> 00:16:05,850
‫prémisse car la définition de toutes ces

281
00:16:05,850 --> 00:16:08,110
‫options ici effectuera essentiellement un

282
00:16:08,110 --> 00:16:11,060
‫appel API à Stripe et donc bien sûr,

283
00:16:11,060 --> 00:16:14,341
‫c'est une fonction asynchrone que nous devrions attendre ici.

284
00:16:14,341 --> 00:16:16,470
‫D'accord, mais de toute façon

285
00:16:16,470 --> 00:16:19,790
‫c'est maintenant notre session et donc la dernière étape

286
00:16:19,790 --> 00:16:22,740
‫est bien sûr de la renvoyer au client.

287
00:16:22,740 --> 00:16:24,020
‫Donc, comme toujours,

288
00:16:24,020 --> 00:16:25,493
‫le statut est succès.

289
00:16:29,480 --> 00:16:31,743
‫Et puis envoyons simplement la session comme ceci.

290
00:16:33,460 --> 00:16:36,463
‫Très bien, donc ça devrait être ça.

291
00:16:38,896 --> 00:16:42,510
‫Notre routeur est déjà configuré et je

292
00:16:42,510 --> 00:16:44,980
‫pense donc que nous

293
00:16:44,980 --> 00:16:48,260
‫pourrions maintenant essayer cela dans le facteur.

294
00:16:48,260 --> 00:16:49,950
‫Très bien, maintenant plus tard, bien

295
00:16:49,950 --> 00:16:53,470
‫sûr, nous ne permettrons à personne de faire cela en utilisant le facteur parce

296
00:16:53,470 --> 00:16:55,370
‫que cela n'a pas beaucoup de sens.

297
00:16:55,370 --> 00:16:57,650
‫Mais maintenant, puisque nous ne testons que

298
00:16:57,650 --> 00:16:59,990
‫cela, cela a en fait beaucoup de sens.

299
00:16:59,990 --> 00:17:02,060
‫Très bien, allons voir

300
00:17:02,060 --> 00:17:05,660
‫le facteur et créons une toute nouvelle demande.

301
00:17:05,660 --> 00:17:08,483
‫Donc ça va être aux

302
00:17:11,150 --> 00:17:15,770
‫réservations / euh, je ne suis pas vraiment sûr.

303
00:17:17,768 --> 00:17:19,313
‫Ouais, donc session de caisse puis /tourId.

304
00:17:20,261 --> 00:17:24,473
‫Très bien, alors faisons nos visites ici.

305
00:17:26,330 --> 00:17:28,823
‫Pour obtenir l'ID à partir de là essentiellement.

306
00:17:31,030 --> 00:17:33,323
‫Alors faisons le Sea Explorer.

307
00:17:34,560 --> 00:17:36,263
‫D'accord, et cela devrait en fait suffire.

308
00:17:41,700 --> 00:17:45,950
‫Oh attendez, nous ne sommes bien sûr pas connectés.

309
00:17:45,950 --> 00:17:47,963
‫Alors connectez-vous ici.

310
00:17:50,022 --> 00:17:51,363
‫Maintenant, nous sommes dans

311
00:17:54,010 --> 00:17:55,460
‫admin, mais utilisons quelqu'un d'autre ici.

312
00:17:55,460 --> 00:17:57,370
‫Et je pense que nous

313
00:17:57,370 --> 00:17:59,860
‫utilisions Leo auparavant, alors utilisons maintenant cet utilisateur.

314
00:17:59,860 --> 00:18:01,813
‫Maintenant, nous avons un mot de passe incorrect.

315
00:18:04,250 --> 00:18:07,053
‫Très bien, voyons ce que nous avons d'autre.

316
00:18:08,761 --> 00:18:11,320
‫Alors, quels autres utilisateurs nous pourrions utiliser.

317
00:18:11,320 --> 00:18:14,470
‫Et en fait, utilisons Monica ici.

318
00:18:14,470 --> 00:18:16,683
‫Pourquoi pas?

319
00:18:19,990 --> 00:18:21,530
‫J'espère donc que son mot de passe est correct.

320
00:18:21,530 --> 00:18:25,753
‫Eh bien, essayons en fait de remplacer

321
00:18:27,500 --> 00:18:30,410
‫ceci ici par test1234.

322
00:18:32,170 --> 00:18:33,883
‫Eh bien, peut-être avons-nous déjà changé

323
00:18:35,290 --> 00:18:38,040
‫les mots de passe de tous ces utilisateurs dans d'autres conférences.

324
00:18:38,040 --> 00:18:41,493
‫Alors utilisons John ici.

325
00:18:43,740 --> 00:18:46,320
‫Donc je sais que nous n'avons jamais utilisé

326
00:18:46,320 --> 00:18:48,740
‫John alors maintenant ça doit marcher.

327
00:18:48,740 --> 00:18:51,523
‫Oh, je vois en fait l'erreur que je viens de faire avant.

328
00:18:55,250 --> 00:18:59,000
‫Alors là c'est pas natours, ça doit être exemple. com.

329
00:18:59,000 --> 00:19:02,583
‫Alors essayons encore avec Monica ici.

330
00:19:06,410 --> 00:19:08,460
‫Ou vraiment juste avec John.

331
00:19:11,990 --> 00:19:13,813
‫C'est plus difficile que ce à quoi je m'attendais.

332
00:19:14,850 --> 00:19:18,000
‫Mais maintenant, nous sommes enfin connectés.

333
00:19:18,000 --> 00:19:19,963
‫Très bien, et avec

334
00:19:21,130 --> 00:19:24,500
‫ça, essayons d'avoir notre session de paiement.

335
00:19:24,500 --> 00:19:26,743
‫Il nous manque l'autorisation d'ici.

336
00:19:29,180 --> 00:19:31,463
‫Une fois de plus, et maintenant nous obtenons une véritable erreur ici.

337
00:19:33,180 --> 00:19:37,270
‫Donc quelque chose qui vient vraiment du

338
00:19:37,270 --> 00:19:40,370
‫code que nous venons d'écrire.

339
00:19:40,370 --> 00:19:41,713
‫Très bien.

340
00:19:43,220 --> 00:19:44,550
‫Alors vérifions cela.

341
00:19:44,550 --> 00:19:46,223
‫Et le problème c'est qu'ici il s'agit en fait de sessions.

342
00:19:47,740 --> 00:19:51,200
‫Alors rayure. vérifier. séances.

343
00:19:51,200 --> 00:19:54,963
‫Une fois de plus.

344
00:19:57,400 --> 00:19:58,383
‫Cette fois, cela prend beaucoup plus de temps, ce qui est bon signe.

345
00:19:59,680 --> 00:20:03,850
‫Et nous avons une autre erreur.

346
00:20:03,850 --> 00:20:05,740
‫Ainsi, la ligne 15 ne peut pas lire le slug du nœud.

347
00:20:05,740 --> 00:20:09,573
‫D'accord, c'est sûr que c'est bizarre parce qu'il devrait

348
00:20:12,200 --> 00:20:15,510
‫y avoir une limace sur cette tournée.

349
00:20:15,510 --> 00:20:18,463
‫Alors euh oui, vous voyez que

350
00:20:19,980 --> 00:20:21,290
‫c'est ici.

351
00:20:22,930 --> 00:20:25,660
‫Alors peut-être que quelque chose

352
00:20:25,660 --> 00:20:29,660
‫s'est mal passé avec la lecture de cette tournée.

353
00:20:29,660 --> 00:20:30,623
‫Ce que je ne peux pas vraiment comprendre pourquoi ce serait.

354
00:20:31,580 --> 00:20:35,083
‫Mais essayons simplement d'enregistrer la visite sur la console.

355
00:20:35,970 --> 00:20:39,273
‫Très bien, et en fait, nous obtenons null.

356
00:20:46,970 --> 00:20:50,000
‫Ce qui signifie probablement qu'il y

357
00:20:50,000 --> 00:20:54,480
‫a un ID de tournée qui n'est pas correctement défini.

358
00:20:54,480 --> 00:20:55,763
‫Oh, voici le problème.

359
00:20:56,750 --> 00:20:58,790
‫Donc je l'ai, ID tout en

360
00:20:58,790 --> 00:21:02,330
‫majuscule, mais ici dans le contrôleur j'ai le D en minuscule.

361
00:21:02,330 --> 00:21:06,450
‫Alors comme ça.

362
00:21:06,450 --> 00:21:07,840
‫Et c'est donc le

363
00:21:07,840 --> 00:21:10,790
‫petit type de bugs qui se produisent tout le temps évidemment.

364
00:21:10,790 --> 00:21:12,183
‫Voyons donc quel est le prochain.

365
00:21:13,210 --> 00:21:15,040
‫Oh et en fait, cette fois, nous avons bien compris.

366
00:21:15,040 --> 00:21:18,280
‫Vous voyez donc que c'est la session que nous venons de créer.

367
00:21:18,280 --> 00:21:22,050
‫Et il édite d'autres trucs ici, mais cela n'a pas vraiment

368
00:21:22,050 --> 00:21:24,290
‫d'importance pour nous en ce moment.

369
00:21:24,290 --> 00:21:27,430
‫Ce qui est vraiment intéressant à voir cependant, c'est que

370
00:21:27,430 --> 00:21:29,340
‫nous pouvons maintenant en quelque

371
00:21:29,340 --> 00:21:32,330
‫sorte déjà voir ce paiement, ou du moins cette demande

372
00:21:32,330 --> 00:21:35,330
‫de paiement, disons dans nos tableaux de bord de conduite.

373
00:21:35,330 --> 00:21:37,843
‫Donc, si nous allons là-bas

374
00:21:39,490 --> 00:21:44,490
‫et passons aux paiements, puis à tous, vous verrez que ce

375
00:21:44,540 --> 00:21:49,010
‫dernier ici vient juste de se produire en ce moment.

376
00:21:49,010 --> 00:21:51,320
‫Donc, si nous cliquons dessus, vous verrez des données à ce sujet.

377
00:21:51,320 --> 00:21:56,320
‫Vous voyez donc par exemple qu'il s'agit en fait

378
00:21:56,630 --> 00:21:59,130
‫du Sea Explorer Tour.

379
00:21:59,130 --> 00:22:00,960
‫Vous avez aussi le prix, vous avez aussi l'image.

380
00:22:00,960 --> 00:22:03,983
‫Probablement aussi des données sur l'utilisateur.

381
00:22:04,920 --> 00:22:07,800
‫Et en fait non, pas vraiment.

382
00:22:07,800 --> 00:22:10,530
‫Mais ce qui compte ici, c'est qu'il est dit incomplet.

383
00:22:10,530 --> 00:22:14,400
‫Et c'est parce que nous n'avons créé la session

384
00:22:14,400 --> 00:22:17,160
‫de paiement que sur le serveur.

385
00:22:17,160 --> 00:22:18,310
‫Et nous manquons

386
00:22:18,310 --> 00:22:20,440
‫donc la deuxième étape où nous facturons ensuite

387
00:22:20,440 --> 00:22:22,750
‫la carte de crédit du côté du client.

388
00:22:22,750 --> 00:22:24,450
‫Donc, puisque cela nous manque,

389
00:22:24,450 --> 00:22:26,210
‫faisons-le correctement dans la prochaine vidéo.

