edumarrom / pdaw23

Proyecto DAW - IES Doñana - Curso 2023/2024
0 stars 0 forks source link

Sistema de compras #177

Closed edumarrom closed 8 months ago

edumarrom commented 8 months ago

Con esta fusión implemento la funcionalidad de gestionar pagos dentro de la aplicación.

La pasarela de pago que decidí usar fue Paypal, y he realizado su integración usando el paquete laravel-paypap ofrecido por Raza Mehdi (srmklive).

Realizando una compra

He adaptado las tarjetas y fichas de los cursos para mostrar el precio del curso. Ahora si el curso no es gratuito, el enlace para matricularse se sustituye por uno que te lleva a la página de checkout, donde se informa al cliente de que va a proceder a la compra del curso.

Para proceder al pago, el cliente debe marcar antes una casilla de verificación que confirma si el cliente está de acuerdo con los términos y condiciones del uso de la aplicación. La validación se produce tanto del lado del cliente como del servidor.

Debajo de este hay un pequeño banner informativo de que el pago se realiza de forma segura mediante PayPal. Al hacer click en el logo de Paypal se abre una nueva ventana flotante con la ficha oficial sobre cómo funciona PayPal. Esta ventana se gestiona mediante el uso de JavaScript (#13), teniendo un enlace HTML alternativo en caso de que no se puediera ejecutar dicho script.

Nota: He incluido el atributo rel="nofollow" para indicar a los motores de búsqueda que no debe seguir ese enlace, y no traspasarle autoridad.

Validación mediante JavaScript

Como medida de seguridad adicional, se ha definido una regla de validación mediante JavaScript para impedir que el usuario pueda proceder al pago sin aceptar la casilla de verificación.

Esta validación se ha definido en un fichero externo llamadocheckout.js, almacenado en el directorio resources/js/payment. Para que Vite compile este fichero y este disponible en la aplicación es necesario incluirlo en el fichero resources/js/app.js.

Proceder con el pago

Cuando el cliente procede al pago, el flujo de la navegación es redirigido a la pasarela de pago de PayPal, donde el usuario deberá autenticarse y confirmar la compra.

Tanto si el usuario acepta como si rechaza el pago, se le redirige de nuevo a nuestro sitio notificándole de la acción realizada.

Confirmar la compra

Si el proceso de pago se completa con éxito, además de notificar al usuario de la compra al volver a la aplicaión, se le envía un email con la información de su compra, y un enlace para acceder al curso.

Referencia

Capturas de pantalla

dabaliu test_8000_courses_aspernatur-nulla-debitis-quos-pariatur-aspernatur-et-ratione(HD Laptop)

Screenshot_20240121_114954

mailtrap io_inboxes_2477272_messages_3982228939(HD Laptop)