En España, cuando realizamos un proyecto en laravel, como una tienda virtual y necesitamos conectar las compras redsys con laravel pensamos en buscar módulos que nos puedan ayudar.
Para Laravel hay un módulo que nos ayuda mucho con la integración el cual dejo el link aqui Sobre ese modulo vamos a retocar un poco su configuración y a aportar más documentación de la que proporciona para que la adaptación sea más limpia y fácil.
Instalando Modulo Redsys en Laravel
para este ejemplo usaremos la versión más reciente que ha sido hecho el módulo.
Esto funciona con las versiones 6, 7 y 8 de Laravel.
Para versiones anteriores os dejo este listado:
Para Laravel 5.1
Para Laravel del 5.2 al 5.4
Para Laravel del 5.5 al 5.8
Luego deberías ejecutar artisan para obtener las configuraciones del modulo
Si trabajas con una versión inferior a la 5.5 deberías hacer los siguientes pasos:
Debemos cargar nuestro Services Provider dentro del array ‘providers’ (config/app.php)
Creamos un alias dentro del array ‘aliases’ (config/app.php)
Ahora que tenemos todo listo, pasamos a la parte interesante.
Configurando el Módulo con tu proyecto
Los datos que usaremos de prueba no será los mismos de producción. por lo tanto debemos generar una pequeña configuración a este módulo.
Para empezar en nuestro archivo de configuración de redsys (/config/redsys.php) encontraremos lo siguiente:
Vamos a agregarles unas variables nuevas
usaremos la función ENV para obtener los valores del archivo .env (puedes ver más detalles aqui) que serán los datos que necesitaremos y que pondremos en nuestro archivo .env para diferenciarlos de producción a desarrollo.
Creando el controlador para Redsys
Para ello vamos a la consola y creamos
y agregaremos algunas cosas al inicio del controlador
creamos la función index del controlador
con esta función podemos crear un boton de compra para que vaya a redsys con los datos necesarios:
$order: el número de orden del pedido
$amount: la cantidad a cobrar
$display: si quieres que se muestre el boton o que directamente se redireccione a redsys
$des: una descripción sobre el pedido ( Si se deja en blanco se coloca la que por defecto pusiste en el archivo .env)
un ejemplo para llamar a la función desde cualquier controlador
o en blade
Para comprobar la confirmación de redsys creamos una función dentro del controlador
Y luego en nuestra ruta colocamos
con esto tienes todo cubierto para crear un sistema limpio y ordenado de Redsys.
Si te a gustado no olvide compartirlo con otros compañeros!!
Recuerda que puedes contar con nosotros para solucionar los problemas que tengas con tu proyecto o página web. Rellena el formulario y nos pondremos en contacto contigo