Mi Blog

Espera, espera... ¿no has visitado todavía mi portfolio?

Entra y descubre algunos de
mis trabajos...
Fotografías
Edición de Vídeos
Diseño web
y + cosas...

 

 

 

x

☄ 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: raulprietofernandez.net

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
Raúl Prieto Fernández
# 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
Raúl Prieto Fernández
# 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
Raúl Prieto Fernández
# 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

     

Código de seguridad
Refescar

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 y la Politica de Privacidad.

  Si continúas navegando, aceptas su uso.