Icono del sitio Carlos Herrera

Usar Redsys con Laravel

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



    Salir de la versión móvil