• Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Mi Blog
☄ Nueva Web con TPV Redsys y control de pagos

☄ Nueva Web con TPV Redsys y control de pagos

Integrar una pasarela TPV de RedSYS en PHP en nuestra Web o en una nueva es sumamente sencillo. Siguiendo el manual que publiqué hace ya bastantes meses Cómo integrar una pasarela de pago TPV RedSys con PHP , acabo de realizar un pequeño portal conectado a RedSys y con control de pago de usuarios. Si quieres ver el resultado final, continúa leyendo...

 

Hace unas semanas me encargaron el diseño de una pequeña página web (desde cero) con pasarela de pagos integrada a RedSYS, la cual debía ser capaz de hacer ingresos en cuenta a través de un sencillo formulario. Poco a poco el portal y sus funcionalidades se fueron complicando y todas ellas  (aunque oculpas a lusuario final) tuve que diseñarlas, testearlas y validarlas.

Como es lógico, no voy a publicar el código de este nuevo proyecto privado, pero a modo de resumen, las características funcionales del portal son las siguientes:

  • Validación de formularios
  • Revisión de datos antes del pago
  • Envio de datos al TPV a través de HTTPS y la APi de RedSYS
  • Panel de control protegido
  • Listado de todos los pagos y su estado
  • Filtrado de pagos por (pendiente, ok y error)
  • Borrado de registros y purgado de la base de datos
  • Generación de QRCodes para cada transaccción
  • Desactivación del ticket una vez usado el QRCODE
  • Envío de confirmación por Email al cliente
  • Envío por Email al clinete con el QRCode adjunto

 

La página principal con el formulario de pago es la siguiente:

TPV CMS REDSYS

 

 

Una vez que el usuario valida los datos, los confirma y se realiza el envío de información al TPV de RedSYS a través de su API:

TPV CMS REDSYS

 

Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

 

El panel de control ha sido diseñado de forma muy sencilla para ver a simple vista el estado de los pagos. El admin puede borrar y listar los pagos en función de su estado (ok, error, pendiente):

TPV CMS REDSYS

 

Dirección Web: URL privada no accesible

 

Recuerda que el tutorial para integrar la pasarela RedSYS TPV en PHP puedes verlo aqui Cómo integrar una pasarela de pago TPV RedSys con PHP 

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: /

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Comentarios  

Juan
# Juan 31-01-2018 11:36
Buenos días,
me parece genial el ejemplo, tienes un enlace diposnible para bajar el código?

Gracias
Responder
Ral Prieto Fernndez
# Raúl Prieto Fernández 03-02-2018 17:33
Hola Juan:

Pues el único código que tengo disponible para poder distribuir es el del TPV, pero no el del CMS que hice para el cliente :(

www.raulprietofernandez.net/blog/webs/como-integrar-una-pasarela-de-pago-tpv-redsys-con-php

Mas que nada porque ya no lo tengo :o ... de todas formas no es demasiado complicado de desarrollar....

Un saludo
Responder
Jordi
# Jordi 19-10-2018 12:33
Hola: Me basé en tu código para realizar una pasarela de pago enlazada con una base de datos. El problema que tengo es que la gente no le da finalizar una vez ha realizado el pago y no se carga en la base de datos. Puedes darme una solución. Gracias.
Responder
Ral Prieto Fernndez
# Raúl Prieto Fernández 19-10-2018 16:41
Hola Jordi:

Tienes que recoger el POST que envia redsys en una nueva web php ( la url que especificas en $URL_Merchant) y para recogerlo es muy fácil, es solamente un array de datos:

include "assets/apiredsys/apiRedsys.php";
$miObj = new RedsysAPI;

$version = $_POST['Ds_SignatureVersion'];
$params = $_POST['Ds_MerchantParameters'];
$signatureRecibida = $_POST['Ds_Signature'];

$decodec = $miObj->decodeMerchantParameters($params);


Con eso tienes los datos del post en $miObj, y puedes sacar los datos que envía como el codigo de respuesta con:

$codigoRespuesta = $miObj->getParameter('Ds_Response');

Si tienes acceso a los logs de Apache, podrás ver en los logs si RedSys está enviando los datos a la URL correcta. Puedes probar tambien a hacer POST de forma manual a tu web URL_MERCHANT para ver si funciona bien (con datos de ejemplo).

Prueba a ver si te funciona :)
Responder
Jordi
# Jordi 13-11-2018 22:59
Hola Raúl:
Muchas gracias. Me ha funcionado a la perfección. Con los datos de Ds_Order y con el php especificado en la $URL_Merchant he podido cargar en la BBDD los pedidos de forma automática sin tener que esperar que los clientes le den a -finalizar- en la última pantalla de Redsys.
Responder
Ral Prieto Fernndez
# Raúl Prieto Fernández 14-11-2018 08:39
Hola Jordi:

Me alegro que te sirviese y que ya lo tengas funcionando.

Enhorabuena :D

Saludos
Responder

Escribir un comentario

Información básica sobre Protección de Datos

Responsable: Raúl Prieto Fernández +info

Finalidad: Moderar los comentarios a los artículos publicados en el blog. +info

Legitimación: Consentimiento del interesado +info

Destinatarios: No se comunicarán datos a persona u organización alguna. +info +info

Derechos: Tiene derecho a Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la información adicional. +info

Plazo de conservación de los datos: Hasta que no se solicite su supresión por el interesado.

Información adicional: Puede consultar la información adicional y detallada sobre Protección de Datos Personales en mi página web raulprietofernandez.net +info

Código de seguridad
Refescar


LOGIN / ENTRAR

BUSCAR EN EL BLOG

TWITTER TIMELINE

Booking.com

ENCUESTA

¿Cual es el mejor Sistema Operativo?

Como es lógico, esta web utiliza cookies propias y de terceros para elaborar información estadística y mostrar publicidad personalizada a través del análisis de tu navegación, conforme a la política de cookies.

  Si continúas navegando, aceptas su uso.