﻿1
00:00:01,070 --> 00:00:01,970
‫-: Está bien.

2
00:00:01,970 --> 00:00:05,850
‫Así que ahora creemos un nuevo documento de reserva en nuestra base de datos

3
00:00:05,850 --> 00:00:09,083
‫cada vez que un usuario compre con éxito un tour.

4
00:00:10,940 --> 00:00:13,400
‫Así que estamos de vuelta aquí en el

5
00:00:13,400 --> 00:00:15,130
‫controlador de reservas y en

6
00:00:15,130 --> 00:00:18,410
‫la licitación sin procesar, que crea las sesiones de pago, ¿verdad?

7
00:00:18,410 --> 00:00:21,990
‫Y recuerde que aquí tenemos esta URL de éxito y

8
00:00:21,990 --> 00:00:25,210
‫esta URL es la base de la funcionalidad que

9
00:00:25,210 --> 00:00:27,670
‫vamos a implementar en esta lección.

10
00:00:27,670 --> 00:00:30,400
‫Entonces, cada vez que un pago

11
00:00:30,400 --> 00:00:34,440
‫se realiza correctamente, el navegador irá automáticamente a esta

12
00:00:34,440 --> 00:00:39,140
‫URL, que en este momento es básicamente nuestra página de inicio, ¿verdad?

13
00:00:39,140 --> 00:00:41,190
‫También es en este momento, por

14
00:00:41,190 --> 00:00:44,360
‫lo que cuando un pago se realiza correctamente, queremos crear

15
00:00:44,360 --> 00:00:46,130
‫una nueva reserva, ¿verdad?

16
00:00:46,130 --> 00:00:49,200
‫Básicamente, queremos crear una nueva reserva

17
00:00:49,200 --> 00:00:53,010
‫cada vez que se accede a esta URL.

18
00:00:53,010 --> 00:00:56,680
‫Ahora podríamos crear una nueva ruta para este éxito, pero luego

19
00:00:56,680 --> 00:00:59,940
‫tendríamos que crear una página completamente nueva y eso

20
00:00:59,940 --> 00:01:02,690
‫no vale la pena en este caso.

21
00:01:02,690 --> 00:01:06,090
‫Y eso es porque lo que vamos a hacer en

22
00:01:06,090 --> 00:01:08,860
‫esta conferencia es solo una solución temporal

23
00:01:08,860 --> 00:01:12,040
‫de todos modos porque no es realmente seguro, ¿de acuerdo?

24
00:01:12,040 --> 00:01:14,690
‫Así que recuerde cómo dijimos hace algunas

25
00:01:14,690 --> 00:01:17,980
‫conferencias y ese bonito diagrama de que más adelante,

26
00:01:17,980 --> 00:01:21,500
‫cuando un sitio web se implemente en un servidor, obtendremos

27
00:01:21,500 --> 00:01:24,830
‫acceso al objeto de sesión una vez que se

28
00:01:24,830 --> 00:01:27,200
‫complete la compra utilizando Stripe Webhooks.

29
00:01:27,200 --> 00:01:29,750
‫Entonces, estos webhooks serán perfectos para

30
00:01:29,750 --> 00:01:31,970
‫que creemos una nueva reserva.

31
00:01:31,970 --> 00:01:32,803
‫¿Okey?

32
00:01:32,803 --> 00:01:35,040
‫Pero por ahora, dado que todavía no

33
00:01:35,040 --> 00:01:36,650
‫podemos hacer eso, usemos una

34
00:01:36,650 --> 00:01:39,810
‫solución alternativa, que es simplemente poner los datos que necesitamos

35
00:01:39,810 --> 00:01:43,810
‫para crear una nueva reserva directamente en esta URL como una cadena de consulta.

36
00:01:43,810 --> 00:01:44,670
‫¿Okey?

37
00:01:44,670 --> 00:01:47,800
‫Y necesitamos crear una cadena de consulta porque Stripe

38
00:01:47,800 --> 00:01:51,620
‫solo hará una solicitud de obtención a esta URL aquí, por lo

39
00:01:51,620 --> 00:01:55,280
‫que realmente no podemos enviar un cuerpo o cualquier dato con

40
00:01:55,280 --> 00:01:57,680
‫ella, excepto la cadena de consulta.

41
00:01:57,680 --> 00:01:58,513
‫¿Está bien?

42
00:01:58,513 --> 00:02:02,300
‫Así que hagámoslo y lo que necesitamos aquí son básicamente los

43
00:02:02,300 --> 00:02:05,660
‫tres campos obligatorios en nuestro modelo de reserva.

44
00:02:05,660 --> 00:02:07,200
‫Tour,

45
00:02:07,200 --> 00:02:08,930
‫usuario y precio.

46
00:02:08,930 --> 00:02:10,200
‫Entonces el

47
00:02:10,200 --> 00:02:11,400
‫tour

48
00:02:11,400 --> 00:02:16,478
‫es igual a req.

49
00:02:16,478 --> 00:02:16,478
‫params.

50
00:02:16,478 --> 00:02:17,311
‫tourid ¿verdad?

51
00:02:18,410 --> 00:02:19,243
‫Entonces, ¿qué hice aquí?

52
00:02:20,350 --> 00:02:21,793
‫Entonces eso es correcto.

53
00:02:23,500 --> 00:02:25,290
‫A continuación, necesitamos al usuario.

54
00:02:25,290 --> 00:02:27,473
‫Entonces usuario, que está a

55
00:02:28,760 --> 00:02:29,793
‫pedido. usuario. identificación.

56
00:02:30,700 --> 00:02:32,887
‫Y finalmente necesitamos el precio,

57
00:02:32,887 --> 00:02:33,807
‫que

58
00:02:33,807 --> 00:02:35,290
‫está en gira. precio.

59
00:02:35,290 --> 00:02:38,170
‫Está bien.

60
00:02:38,170 --> 00:02:39,003
‫Ahora, como dije antes, esto,

61
00:02:40,230 --> 00:02:41,063
‫por supuesto, no es seguro

62
00:02:42,277 --> 00:02:43,110
‫en absoluto porque en este

63
00:02:44,190 --> 00:02:45,630
‫momento cualquiera que conozca esta estructura de URL aquí

64
00:02:45,630 --> 00:02:47,250
‫podría simplemente llamarla sin pasar por el proceso de pago, ¿verdad?

65
00:02:47,250 --> 00:02:50,140
‫Entonces, cualquiera podría

66
00:02:50,140 --> 00:02:54,760
‫reservar un recorrido sin tener que pagar.

67
00:02:54,760 --> 00:02:57,510
‫Todo lo que tendrían que hacer es abrir esta URL

68
00:02:57,510 --> 00:02:59,250
‫con el tour, el usuario y

69
00:02:59,250 --> 00:03:01,930
‫el precio y luego crearían automáticamente una nueva reserva

70
00:03:01,930 --> 00:03:03,630
‫sin siquiera pagar, ¿de acuerdo?

71
00:03:03,630 --> 00:03:06,530
‫De nuevo, no es realmente seguro, pero

72
00:03:06,530 --> 00:03:08,830
‫por ahora funciona bien

73
00:03:08,830 --> 00:03:11,900
‫porque no mucha gente sabrá, por supuesto, que

74
00:03:11,900 --> 00:03:14,320
‫esta es nuestra URL de éxito.

75
00:03:14,320 --> 00:03:16,080
‫¿Okey?

76
00:03:16,080 --> 00:03:19,160
‫Porque en realidad vamos a ocultar ese hecho

77
00:03:19,160 --> 00:03:22,240
‫un poquito en un segundo, ¿de acuerdo?

78
00:03:22,240 --> 00:03:24,920
‫Así que ahora creemos la función que realmente creará la nueva reserva en

79
00:03:24,920 --> 00:03:25,753
‫la base de datos.

80
00:03:25,753 --> 00:03:28,790
‫Así que eso va a exportar

81
00:03:28,790 --> 00:03:30,910
‫dot create booking checkout

82
00:03:30,910 --> 00:03:35,120
‫y se llama crear checkout de reserva porque más

83
00:03:35,120 --> 00:03:37,083
‫adelante también tendremos crear

84
00:03:38,320 --> 00:03:40,610
‫reserva, que luego será accesible

85
00:03:40,610 --> 00:03:42,150
‫desde nuestra API

86
00:03:42,150 --> 00:03:42,983
‫de

87
00:03:44,000 --> 00:03:44,833
‫reservas.

88
00:03:46,100 --> 00:03:47,150
‫Está bien.

89
00:03:47,150 --> 00:03:49,600
‫De todas formas.

90
00:03:49,600 --> 00:03:52,980
‫Aquí como siempre.

91
00:03:52,980 --> 00:03:56,313
‫Y comencemos obteniendo nuestros datos de la cadena de consulta.

92
00:03:57,760 --> 00:03:59,360
‫Y para eso voy a usar la estructuración.

93
00:03:59,360 --> 00:04:00,193
‫Por

94
00:04:02,160 --> 00:04:03,523
‫lo tanto, el tour,

95
00:04:06,460 --> 00:04:09,990
‫el usuario y el precio están disponibles a pedido. consulta.

96
00:04:09,990 --> 00:04:13,370
‫Así que recuerde que es la cadena de consulta.

97
00:04:13,370 --> 00:04:14,763
‫Entonces, en realidad, solo queremos crear

98
00:04:15,920 --> 00:04:17,520
‫una nueva reserva si se especifican todos estos aquí.

99
00:04:17,520 --> 00:04:21,113
‫Básicamente, decimos que si no existen, pasamos al

100
00:04:21,113 --> 00:04:22,520
‫siguiente middleware.

101
00:04:22,520 --> 00:04:25,540
‫Entonces ese es nuestro procedimiento muy estándar, ¿verdad?

102
00:04:25,540 --> 00:04:28,830
‫Por eso decimos

103
00:04:28,830 --> 00:04:31,720
‫que si

104
00:04:31,720 --> 00:04:35,060
‫no hay tour ni

105
00:04:35,060 --> 00:04:37,980
‫usuario ni precio.

106
00:04:37,980 --> 00:04:41,003
‫Entonces, básicamente, requerimos que existan todos en ellos.

107
00:04:42,190 --> 00:04:45,890
‫Y entonces, en ese caso, pasamos al

108
00:04:45,890 --> 00:04:47,480
‫siguiente middleware.

109
00:04:47,480 --> 00:04:48,680
‫Ahora bien, ¿qué es exactamente el próximo middleware en realidad?

110
00:04:48,680 --> 00:04:50,050
‫Bueno, recuerde que

111
00:04:50,050 --> 00:04:53,450
‫queremos crear una nueva reserva en esta URL de inicio.

112
00:04:53,450 --> 00:04:55,253
‫Así que este de aquí.

113
00:04:56,580 --> 00:04:58,790
‫Porque, de nuevo, esa es la URL

114
00:04:58,790 --> 00:05:02,420
‫a la que se llama cada vez que se realiza una compra con Stripe.

115
00:05:02,420 --> 00:05:06,300
‫Entonces, lo que tenemos que hacer es agregar esta función de middleware que estamos

116
00:05:06,300 --> 00:05:08,340
‫creando ahora en la pila de middleware de

117
00:05:08,340 --> 00:05:09,660
‫este controlador de ruta.

118
00:05:09,660 --> 00:05:12,380
‫Entonces, ¿qué controlador de ruta es ese?

119
00:05:12,380 --> 00:05:15,610
‫Bueno, está en las rutas de la

120
00:05:15,610 --> 00:05:18,810
‫vista y es esta, ¿verdad?

121
00:05:18,810 --> 00:05:21,990
‫Así que probablemente suene un poco confuso.

122
00:05:21,990 --> 00:05:23,393
‫Pero nuevamente, esta es la ruta

123
00:05:24,230 --> 00:05:26,620
‫que se tomará cuando se cargue con éxito una tarjeta de crédito.

124
00:05:26,620 --> 00:05:30,943
‫Y este es también el momento en el que queremos crear una

125
00:05:32,170 --> 00:05:33,270
‫nueva reserva.

126
00:05:33,270 --> 00:05:36,040
‫Y aquí es donde necesitamos agregar

127
00:05:36,040 --> 00:05:39,610
‫esa función de middleware, así que hagámoslo

128
00:05:39,610 --> 00:05:42,080
‫y solicitemos nuestro controlador

129
00:05:42,080 --> 00:05:44,730
‫y ahora lo duplicaremos aquí.

130
00:05:44,730 --> 00:05:46,260
‫Entonces, el controlador de

131
00:05:46,260 --> 00:05:49,940
‫reservas y ahora editaré aquí desde el principio porque realmente no importa

132
00:05:51,340 --> 00:05:53,350
‫si estamos conectados o no para esto.

133
00:05:53,350 --> 00:05:57,963
‫Así que bookingcontroller. get, o en

134
00:06:02,440 --> 00:06:06,850
‫realidad dot create

135
00:06:06,850 --> 00:06:09,540
‫bookingcheckout.

136
00:06:09,540 --> 00:06:11,743
‫Dale una oportunidad y

137
00:06:13,130 --> 00:06:16,780
‫está bien.

138
00:06:16,780 --> 00:06:18,300
‫Y nuevamente, esto es algo temporal

139
00:06:18,300 --> 00:06:19,770
‫hasta que realmente tengamos nuestros sitios

140
00:06:19,770 --> 00:06:20,603
‫web implementados en

141
00:06:22,878 --> 00:06:25,060
‫un servidor donde podamos crear una mejor solución para esto.

142
00:06:25,060 --> 00:06:26,230
‫¿Okey?

143
00:06:26,230 --> 00:06:29,150
‫Así que aquí, en el controlador de

144
00:06:29,150 --> 00:06:32,610
‫reservas, es el momento de crear esa nueva reserva.

145
00:06:32,610 --> 00:06:35,560
‫Entonces, en realidad, ahora necesitamos importar ese modelo.

146
00:06:35,560 --> 00:06:36,950
‫Así que hagámoslo aquí.

147
00:06:36,950 --> 00:06:41,230
‫Modelo de

148
00:06:41,230 --> 00:06:44,930
‫reserva y reserva aquí también.

149
00:06:44,930 --> 00:06:48,903
‫Y por alguna razón aquí tengo estos extraños caminos.

150
00:06:50,810 --> 00:06:52,053
‫Entonces estos no tienen ningún sentido en absoluto.

151
00:06:53,520 --> 00:06:54,780
‫No estoy seguro de por qué los escribí así en ese entonces.

152
00:06:54,780 --> 00:06:55,613
‫Entonces, lo que tenemos allí es exactamente lo mismo que esto.

153
00:06:57,750 --> 00:06:59,363
‫Pero, por supuesto, esto es más legible.

154
00:07:01,280 --> 00:07:04,830
‫De todas formas.

155
00:07:04,830 --> 00:07:08,170
‫Creemos ahora esa reserva.

156
00:07:08,170 --> 00:07:11,910
‫Y para eso tendremos que

157
00:07:11,910 --> 00:07:15,160
‫esperar a la reserva. crear con un

158
00:07:15,160 --> 00:07:21,810
‫objeto

159
00:07:21,810 --> 00:07:27,353
‫de recorrido, usuario y precio.

160
00:07:28,497 --> 00:07:29,330
‫Y eso es.

161
00:07:30,900 --> 00:07:32,040
‫Ahora también debemos marcar este

162
00:07:32,040 --> 00:07:33,390
‫aquí como asíncrono y, como

163
00:07:33,390 --> 00:07:34,223
‫siempre, catchasync.

164
00:07:35,120 --> 00:07:35,953
‫¿Okey?

165
00:07:36,810 --> 00:07:37,843
‫Y no estamos guardando bien

166
00:07:38,830 --> 00:07:40,310
‫esto en ninguna variable porque realmente no lo necesitamos.

167
00:07:40,310 --> 00:07:42,660
‫No vamos a devolver esto como una respuesta de la API.

168
00:07:44,220 --> 00:07:45,660
‫En este punto, todo lo que queremos hacer aquí es

169
00:07:46,582 --> 00:07:47,499
‫crear ese nuevo documento, ¿de acuerdo?

170
00:07:53,252 --> 00:07:54,085
‫A

171
00:07:54,085 --> 00:07:56,450
‫continuación, podríamos decir siguiente, así.

172
00:07:56,450 --> 00:07:58,250
‫Y entonces iría al

173
00:07:58,250 --> 00:08:01,470
‫siguiente middleware, pero eso no es realmente ideal.

174
00:08:01,470 --> 00:08:04,970
‫De nuevo, tenga en cuenta que el siguiente middleware en

175
00:08:04,970 --> 00:08:07,363
‫la pila es, por supuesto, este y

176
00:08:08,480 --> 00:08:10,680
‫la descripción general de get.

177
00:08:12,280 --> 00:08:14,460
‫Básicamente, la función

178
00:08:14,460 --> 00:08:17,220
‫que va a representar nuestra página.

179
00:08:17,220 --> 00:08:18,990
‫Pero recuerda que esta URL es todo esto.

180
00:08:18,990 --> 00:08:22,010
‫Entonces todo esto con todos estos datos aquí.

181
00:08:22,010 --> 00:08:24,450
‫Y, de nuevo, eso no es seguro en absoluto.

182
00:08:24,450 --> 00:08:26,640
‫Así que al menos hagámoslo

183
00:08:26,640 --> 00:08:29,041
‫un poco más seguro, ¿de acuerdo?

184
00:08:29,041 --> 00:08:30,800
‫Entonces, lo

185
00:08:30,800 --> 00:08:35,023
‫que podemos hacer aquí es básicamente redirigir la

186
00:08:35,980 --> 00:08:38,920
‫aplicación ahora solo a esta URL.

187
00:08:38,920 --> 00:08:41,610
‫Básicamente, está eliminando la

188
00:08:41,610 --> 00:08:45,200
‫cadena de consulta de la URL original.

189
00:08:45,200 --> 00:08:46,200
‫Y, de hecho,

190
00:08:46,200 --> 00:08:48,660
‫ahora vamos a usar algo que nunca usamos antes.

191
00:08:48,660 --> 00:08:52,090
‫Entonces eso es genial, ¿verdad?

192
00:08:52,090 --> 00:08:52,923
‫Entonces usaremos redireccionamiento.

193
00:08:53,837 --> 00:08:55,980
‫¿Está bien?

194
00:08:55,980 --> 00:08:57,277
‫Entonces, ahora lo que

195
00:08:59,007 --> 00:09:01,710
‫queremos es la URL completa, pero sin la cadena de consulta.

196
00:09:01,710 --> 00:09:03,300
‫Entonces, lo que podríamos hacer

197
00:09:03,300 --> 00:09:04,763
‫es hacer una

198
00:09:05,860 --> 00:09:08,193
‫especie de trampa y copiar esto aquí.

199
00:09:10,810 --> 00:09:11,970
‫Pero hagámoslo un poco más elegante.

200
00:09:11,970 --> 00:09:15,230
‫Entonces, lo que estamos haciendo es una solicitud. theoriginalurl, que ya usamos

201
00:09:15,230 --> 00:09:16,803
‫antes.

202
00:09:18,000 --> 00:09:20,620
‫Y esa es la URL completa

203
00:09:20,620 --> 00:09:23,450
‫básicamente de la que proviene la solicitud.

204
00:09:23,450 --> 00:09:24,660
‫Y ahora lo que

205
00:09:24,660 --> 00:09:27,110
‫tenemos que hacer es dividirlo por el signo de interrogación.

206
00:09:27,110 --> 00:09:31,096
‫¿Derecha?

207
00:09:31,096 --> 00:09:33,090
‫Porque ese es el divisor entre la parte que realmente

208
00:09:33,090 --> 00:09:34,573
‫queremos y la cadena de consulta.

209
00:09:35,870 --> 00:09:38,090
‫Entonces, si dividimos esto por el signo de interrogación,

210
00:09:38,090 --> 00:09:40,190
‫entonces tendremos una matriz donde el primer

211
00:09:40,190 --> 00:09:43,090
‫elemento es este y el segundo elemento es todo el resto.

212
00:09:43,090 --> 00:09:44,283
‫Entonces, la propia cadena de consulta.

213
00:09:48,010 --> 00:09:48,843
‫Y aquí

214
00:09:48,843 --> 00:09:52,500
‫tomamos el primer elemento y esa es nuestra página de inicio.

215
00:09:52,500 --> 00:09:55,053
‫Entonces nuestra URL de ruta.

216
00:09:56,700 --> 00:10:00,040
‫Y lo que hace la redirección aquí es básicamente crear una nueva

217
00:10:00,040 --> 00:10:02,917
‫solicitud pero a esta nueva URL que pasamos allí.

218
00:10:02,917 --> 00:10:06,420
‫¿Está bien?

219
00:10:06,420 --> 00:10:08,430
‫Así que esto ahora creará

220
00:10:08,430 --> 00:10:11,210
‫otra solicitud a nuestra URL de ruta.

221
00:10:11,210 --> 00:10:13,480
‫Así que volveremos a tomar esta ruta.

222
00:10:13,480 --> 00:10:14,463
‫Y así, una vez más, llegaremos a este middleware aquí.

223
00:10:15,560 --> 00:10:19,520
‫Entonces el que estamos creando.

224
00:10:19,520 --> 00:10:24,060
‫Entonces, por segunda vez, vamos a lograr eso, pero ahora el recorrido, el usuario y el precio

225
00:10:24,060 --> 00:10:25,170
‫ya no están definidos.

226
00:10:25,170 --> 00:10:27,680
‫Y entonces iremos al siguiente middleware, que finalmente es la función

227
00:10:27,680 --> 00:10:28,653
‫del controlador de

228
00:10:29,890 --> 00:10:32,900
‫obtención de información general, que luego representaremos la página de inicio, ¿de acuerdo?

229
00:10:32,900 --> 00:10:37,230
‫¿Tuvo sentido?

230
00:10:37,230 --> 00:10:39,790
‫Entonces esto es algo circular.

231
00:10:39,790 --> 00:10:42,850
‫Así que básicamente al

232
00:10:42,850 --> 00:10:47,240
‫principio vamos a tomar esta ruta aquí.

233
00:10:47,240 --> 00:10:49,860
‫Luego, se crea una nueva

234
00:10:49,860 --> 00:10:53,540
‫reserva aquí y redirigimos la aplicación nuevamente a

235
00:10:53,540 --> 00:10:57,870
‫esta ruta, esta vez sin la cadena de consulta.

236
00:10:57,870 --> 00:10:59,080
‫Y así,

237
00:10:59,080 --> 00:11:01,700
‫sin la cadena de consulta y este

238
00:11:01,700 --> 00:11:03,870
‫middleware, pasamos directamente al siguiente.

239
00:11:03,870 --> 00:11:05,100
‫Y solo entonces llegamos

240
00:11:05,100 --> 00:11:07,430
‫a iniciar sesión y obtener una descripción general.

241
00:11:07,430 --> 00:11:10,860
‫¿Está bien?

242
00:11:10,860 --> 00:11:12,710
‫Y eso es todo, ¿de acuerdo?

243
00:11:12,710 --> 00:11:14,540
‫Bueno, eso es justo aquí

244
00:11:14,540 --> 00:11:16,370
‫que esto es solo temporal

245
00:11:16,370 --> 00:11:18,120
‫porque no es seguro.

246
00:11:18,120 --> 00:11:21,350
‫Todo el mundo puede hacer reservas

247
00:11:21,350 --> 00:11:22,723
‫sin pagar.

248
00:11:24,020 --> 00:11:25,450
‫De nuevo, eso sería terrible para el negocio.

249
00:11:25,450 --> 00:11:29,390
‫Bien, ahora es el momento de probar esto.

250
00:11:29,390 --> 00:11:32,910
‫Y, en realidad, quiero hacerlo con ese otro usuario que creamos que es

251
00:11:38,730 --> 00:11:39,563
‫jonas @ mailsac.

252
00:11:41,520 --> 00:11:42,523
‫Y eso es

253
00:11:43,700 --> 00:11:47,410
‫porque quiero ver si realmente recibimos ese recibo por correo electrónico de Stripe.

254
00:11:49,010 --> 00:11:49,963
‫Así que

255
00:11:50,930 --> 00:11:54,133
‫iniciemos sesión con ese usuario en nuestro sitio web.

256
00:11:55,250 --> 00:11:57,733
‫Así

257
00:11:59,210 --> 00:12:02,990
‫que cierre la sesión.

258
00:12:02,990 --> 00:12:06,620
‫Bueno, eso no está funcionando.

259
00:12:06,620 --> 00:12:09,510
‫Eso es raro.

260
00:12:09,510 --> 00:12:11,913
‫Recarguemos.

261
00:12:13,510 --> 00:12:17,280
‫Y eso debería estar funcionando, así que veamos si tenemos algún error

262
00:12:17,280 --> 00:12:18,466
‫en nuestro javascript.

263
00:12:18,466 --> 00:12:20,170
‫Porque eso es realmente de cara al cliente y obtenemos

264
00:12:20,170 --> 00:12:21,063
‫que Stripe no está definido.

265
00:12:23,080 --> 00:12:24,323
‫Veamos si tenemos el mismo error aquí en

266
00:12:27,050 --> 00:12:28,090
‫esta página, que no deberíamos, ¿verdad?

267
00:12:28,090 --> 00:12:29,023
‫Y en

268
00:12:30,430 --> 00:12:33,520
‫realidad no está allí, sino en todas las giras.

269
00:12:33,520 --> 00:12:36,230
‫Sí, está ahí.

270
00:12:36,230 --> 00:12:38,160
‫Entonces, la solución es moverlo

271
00:12:39,210 --> 00:12:41,763
‫del recorrido básicamente a todas las páginas.

272
00:12:42,730 --> 00:12:46,180
‫¿Está bien?

273
00:12:46,180 --> 00:12:48,170
‫Entonces, por alguna razón, el empaquetador de paquetes

274
00:12:48,170 --> 00:12:51,010
‫lo hace, por lo que debe estar aquí en el alcance

275
00:12:51,010 --> 00:12:52,393
‫principal para todos ellos.

276
00:12:53,360 --> 00:12:54,660
‫Entonces, para todas las páginas, ¿de acuerdo?

277
00:12:54,660 --> 00:12:58,480
‫De hecho, pongámoslo en la parte inferior, justo aquí,

278
00:12:59,400 --> 00:13:01,193
‫antes de nuestro paquete.

279
00:13:02,910 --> 00:13:04,010
‫¿Está bien?

280
00:13:04,010 --> 00:13:07,970
‫Inténtelo de nuevo y ya estamos listos para comenzar.

281
00:13:07,970 --> 00:13:08,920
‫Así

282
00:13:10,260 --> 00:13:12,703
‫que cierre la sesión y funcionó.

283
00:13:14,850 --> 00:13:16,933
‫Ahora inicie sesión.

284
00:13:19,090 --> 00:13:21,970
‫Por supuesto, ahora nuestra copia se ha ido.

285
00:13:26,010 --> 00:13:27,673
‫Uno dos tres CUATRO.

286
00:13:29,530 --> 00:13:30,690
‫No, eso no es correcto.

287
00:13:30,690 --> 00:13:34,143
‫Prueba uno dos tres cuatro.

288
00:13:35,170 --> 00:13:37,510
‫Así que supongo que cambié la contraseña en algún momento, así

289
00:13:37,510 --> 00:13:38,343
‫que intentemos una

290
00:13:39,200 --> 00:13:40,083
‫nueva contraseña, que tampoco funciona.

291
00:13:42,183 --> 00:13:44,613
‫Intentemos pasar uno, dos, tres, cuatro

292
00:13:53,790 --> 00:13:54,963
‫y funcionó.

293
00:13:56,400 --> 00:13:58,180
‫Así que no es la prueba uno, dos,

294
00:13:58,180 --> 00:14:00,043
‫tres, cuatro, sino que pasa una, dos, tres, cuatro.

295
00:14:01,580 --> 00:14:04,470
‫Al menos aquí en mi caso.

296
00:14:04,470 --> 00:14:07,363
‫Así que intentemos reservar el, digamos, el amante

297
00:14:08,920 --> 00:14:10,460
‫de los deportes.

298
00:14:10,460 --> 00:14:13,180
‫Está bien.

299
00:14:14,170 --> 00:14:15,223
‫Aquí abajo.

300
00:14:16,100 --> 00:14:18,260
‫Reserve tour y eso

301
00:14:18,260 --> 00:14:20,603
‫todavía funciona y ese es

302
00:14:21,460 --> 00:14:22,763
‫el caro.

303
00:14:23,810 --> 00:14:25,940
‫(risas) Entonces cuatro dos cuatro dos y

304
00:14:26,960 --> 00:14:28,493
‫luego cuatro dos hasta

305
00:14:30,520 --> 00:14:31,353
‫el final.

306
00:14:33,150 --> 00:14:34,340
‫Entonces aquí hay un mes y aquí hay un número.

307
00:14:34,340 --> 00:14:35,310
‫Digamos mi nombre completo

308
00:14:37,010 --> 00:14:38,310
‫aquí y ahora hagamos clic en pagar.

309
00:14:39,260 --> 00:14:41,091
‫Y echaré un vistazo a la barra de URL.

310
00:14:41,091 --> 00:14:42,100
‫Y, de hecho, obtenemos nuestra página

311
00:14:42,100 --> 00:14:45,020
‫de inicio, por lo que nuestra URL de ruta sin ninguna de las cadenas de consulta que especificamos antes.

312
00:14:45,020 --> 00:14:46,203
‫Eso significa que algo está funcionando.

313
00:14:47,060 --> 00:14:52,020
‫Así que echemos un vistazo a la brújula y haga clic aquí

314
00:14:52,020 --> 00:14:55,590
‫para recargar y obtendremos nuestra colección de reservas.

315
00:14:55,590 --> 00:14:57,523
‫Y esa es una buena señal.

316
00:14:59,970 --> 00:15:02,090
‫Y de hecho aquí vamos.

317
00:15:02,090 --> 00:15:06,440
‫Se crea nuestro primer documento.

318
00:15:06,440 --> 00:15:10,280
‫Así que recuerda que ese era ese precio.

319
00:15:10,280 --> 00:15:13,550
‫También echemos un vistazo a la identificación

320
00:15:13,550 --> 00:15:18,400
‫del usuario, que es esta que termina en ocho E tres B.

321
00:15:20,520 --> 00:15:23,180
‫Entonces ocho E tres B, eso es correcto.

322
00:15:23,180 --> 00:15:24,540
‫Y supongo que la gira también será correcta.

323
00:15:24,540 --> 00:15:26,742
‫Tan perfecto.

324
00:15:26,742 --> 00:15:30,360
‫Eso también funcionó y, por lo tanto, ahora realmente tenemos

325
00:15:30,360 --> 00:15:32,673
‫una forma de crear reservas cada

326
00:15:33,740 --> 00:15:36,350
‫vez que ocurre una reserva con Stripe.

327
00:15:38,100 --> 00:15:41,653
‫También revisemos rápidamente nuestros paneles aquí nuevamente.

328
00:15:43,280 --> 00:15:46,640
‫Eso es muy divertido.

329
00:15:46,640 --> 00:15:50,100
‫Y supongo que solo tengo que recargar aquí.

330
00:15:50,100 --> 00:15:51,220
‫Así que veamos.

331
00:15:51,220 --> 00:15:52,540
‫Aquí está jonas en lo que sea que nombramos.

332
00:15:52,540 --> 00:15:56,200
‫Tenemos al amante

333
00:15:56,200 --> 00:15:58,773
‫de

334
00:15:59,772 --> 00:16:04,040
‫los deportes y perfecto.

335
00:16:04,040 --> 00:16:05,770
‫Eso está funcionando ahora.

336
00:16:05,770 --> 00:16:07,720
‫Y la tarea final.

337
00:16:13,662 --> 00:16:14,745
‫Veamos ahora mailsac.

338
00:16:15,770 --> 00:16:21,580
‫Saco de correo.

339
00:16:22,460 --> 00:16:23,860
‫com y ver si recibí

340
00:16:23,860 --> 00:16:25,100
‫mi correo electrónico allí.

341
00:16:25,100 --> 00:16:26,657
‫Y bueno, en realidad no lo hice, pero

342
00:16:26,657 --> 00:16:27,900
‫eso no es gran cosa.

343
00:16:27,900 --> 00:16:30,410
‫No estoy seguro de que tal vez simplemente no funcione con datos de prueba.

344
00:16:31,390 --> 00:16:32,223
‫Y por ahora eso es todo lo

345
00:16:32,223 --> 00:16:33,070
‫que tengo que mostrarte sobre la integración de Stripe.

346
00:16:34,316 --> 00:16:35,149
‫Ahora, nuevamente,

347
00:16:36,490 --> 00:16:39,060
‫una vez que se implemente un sitio web, usaremos

348
00:16:39,060 --> 00:16:39,923
‫Stripe Webhooks para

349
00:16:42,190 --> 00:16:45,050
‫crear reservas de una manera más segura y mucho mejor.

350
00:16:45,050 --> 00:16:46,840
‫¿Está bien?

351
00:16:46,840 --> 00:16:51,200
‫Así que, de nuevo, tomemos un minuto para recapitular lo que hicimos aquí.

352
00:16:51,200 --> 00:16:53,160
‫Básicamente, agregamos todas las

353
00:16:53,160 --> 00:16:55,670
‫variables que necesitamos para crear una

354
00:16:55,670 --> 00:16:58,230
‫nueva reserva a la URL de éxito.

355
00:16:58,230 --> 00:17:00,690
‫Luego agregamos una nueva función de middleware

356
00:17:00,690 --> 00:17:03,320
‫aquí a la pila de esa ruta exacta.

357
00:17:03,320 --> 00:17:05,050
‫Así que este de aquí.

358
00:17:05,050 --> 00:17:06,320
‫Y así,

359
00:17:06,320 --> 00:17:11,320
‫siempre que se acceda a esta URL, intentaremos crear una nueva reserva.

360
00:17:12,000 --> 00:17:14,010
‫¿Está bien?

361
00:17:14,970 --> 00:17:18,070
‫Pero esa nueva reserva, por supuesto, solo se crea cuando el tour, el usuario y el

362
00:17:18,070 --> 00:17:19,327
‫precio se especifican en la consulta.

363
00:17:20,610 --> 00:17:24,320
‫Y así, en esta función de middleware, si se especifican

364
00:17:24,320 --> 00:17:26,270
‫bien en la consulta, creamos una

365
00:17:26,270 --> 00:17:27,790
‫nueva reserva aquí.

366
00:17:27,790 --> 00:17:31,200
‫Luego, una vez hecho esto, eliminamos la cadena de consulta de la

367
00:17:31,200 --> 00:17:34,387
‫URL para que todo el proceso sea un poco menos transparente para

368
00:17:34,387 --> 00:17:35,220
‫el usuario.

369
00:17:35,220 --> 00:17:38,380
‫Básicamente para que toda la cadena de

370
00:17:38,380 --> 00:17:43,290
‫consulta no aparezca en la barra de URL de nuestro navegador.

371
00:17:43,290 --> 00:17:45,180
‫Y luego aquí abajo redirigimos

372
00:17:45,180 --> 00:17:48,610
‫nuestra aplicación a esta nueva URL de ruta aquí, ¿de acuerdo?

373
00:17:48,610 --> 00:17:50,900
‫De esta manera, este middleware aquí se

374
00:17:50,900 --> 00:17:53,870
‫omitirá y luego nuestra página de inicio normal simplemente se renderizará.

375
00:17:53,870 --> 00:17:56,680
‫¿Está bien?

376
00:17:56,680 --> 00:17:59,240
‫Eliminemos este error de la aplicación aquí

377
00:17:59,240 --> 00:18:02,880
‫y la fábrica que realmente necesitaremos en la próxima conferencia.

378
00:18:02,880 --> 00:18:05,400
‫Así que en la próxima conferencia

379
00:18:05,400 --> 00:18:08,690
‫nos encargaremos de implementar una última pieza de nuestro sitio

380
00:18:08,690 --> 00:18:11,940
‫web, que básicamente es esta página para mis reservas.

381
00:18:11,940 --> 00:18:15,650
‫Y lo que hará esta página es básicamente mostrar una tarjeta de

382
00:18:15,650 --> 00:18:19,233
‫tour para cada uno de los tours que hemos reservado.

383
00:18:20,530 --> 00:18:21,363
‫Así que

384
00:18:22,320 --> 00:18:25,630
‫parece bastante similar a esta página de inicio, pero solo con los

385
00:18:26,510 --> 00:18:30,340
‫recorridos que el usuario que ha iniciado sesión actualmente ha reservado, ¿de acuerdo?

386
00:18:30,340 --> 00:18:33,660
‫Entonces esa es una buena característica para un sitio web, ¿verdad?

387
00:18:33,660 --> 00:18:36,950
‫Así que ocupémonos de eso en el próximo.

