NUEVO CODIGO HTML TPV VIRTUAL HMAC SHA256
Auteur : DANIEL L.Buenos días
Tengo una tienda virtual funcionando correctamente, con el sistema de pago con tarjeta de SERMEPA.
Anteriormente publique un post con los ficheros necesarios para la conexion del tvp virtual.
El problema es que el banco me ha mandado un email y me dice que la seguridad de los tpv virtuales, pasan a ser HMAC SHA256, (esto es para todas las tiendas online) por eso hay que hacer unas modificaciones.
¿habeis recibido este correo del banco? ¿alguien lo tiene resuelto?
Todos los que tengamos con sermepa el sistema de pago tenemos que hacer esta modificación. Los bancos como la Caixa, caja laboral......emplean este sistema.
Hos envio el fichero php, que funciona actuamente en mi web para el sistema de pago (logicamente sin los datos de usuario reales)
¿sabeis que hay que modificar en el codigo, para el nuevo sistema que solicitan?
Estoy perdido y creo que es un tema que nos interesa a todos los que tenemos un tpv
Auteur
Hos paso un enlace donde habla de este tema: https://canales.redsys.es/canales/ayuda/migracionSHA256.html
Un saludo
Buenos días Daniel,
Estado leyendo tus post anteriores y he visto que has hecho una labor muy humanitaria ofreciendo el fichero de integración del TPV Virtual a todos los usuarios de Website incluyendome yo, para la implantación de la forma de pago por tarjeta.
La verdad que es una pena, un programa como este, que no vamos a decir que sea de los peores para crear una tienda online, no ofrezca este tipo de labor, por muy extranjero que sea, por que la mayoría del resto de plataformas, podremos decir que tambien son extranjeras.
Con la llegada del SHA-256 para el mes de noviembre, nos hace polvo a todos los usuarios de Website en volver a desarrollar el nuevo fichero php para implantarlo de nuevo.
Yo personalmente, cuando lo tenga solucionado.
te lo publicare en tu muro.
saludos.
Hola,
Tengo el mismo problema que vosotros y la verdad cuando me recuerdo lo que me costo crear el php empezo a temblar a la idea de volver a cambiar este php. Me acabo de enterar del cambio, yo estoy con BBVA y redsys pero la verdad es que ni el banco ni redsys ni website x5 nos van a ayudar !!! Voy a emezar a buscar y os tengo al corriente de cualquier avance, gracias por hacer lo mismo que queda poco tiempo.
A lo mejor alguin lo tiene solucionado ya ?
Saludos.
Hola,
también tengo Redsys con BBVA, y no he obtenido la más mínima ayuda por su parte. Me dicen que la solución al problema está en el manual y en los ejemplos que podemos descargar. Voy a repasarlo con detenimiento a ver si me da alguna pista y ya os diré algo.
Saludos
Hola, yo estoy igual, tambien necesito implementar el nuevo cifrado
No entiendo como desde Incomedia no crean un modulo para implementarlo, aunque sea de pago, seria lo mejor para todos.
Yo lo tengo implantado en mi web, pero con el cifrado sha1, ahora con el nuevo, toca re-programar todo
Es algo dificil de realizar, por favor si alguien lo consigue que contacte conmigo,le remuneraré encantado, sólo por el favor.
A ver si tenemos algo de suerte, y alguien encuentra la solucion
Auteur
Buenas tardes
Yo le echare una ojeda al tema..... de todas maneras ya estoy algo cansado por el responsive que va mal para mi gusto y mis necesidades y si le sumo que cada vez que a los de redsys le da por cambiar el tema me vuelvo loco, he decidido cambiar de plataforma para mi web principal y irme a prestashop, prefiero pagar y tenerlo facil, lo que esta claro que website tiene cosas buenas pero si lo pongo sobre la balanza...he dedido volver hacer mi web con unos 400 articulos y unas 150 paginas, me llevara trabajo pero espero que merezca la pena....
Website lo usare para cosas que no sea montar una tienda online. Pero intentare ayudaros con el tema de la tarjeta, si descubro algo hos aviso.
Un saludo
Bueno he llamado al servicio de ayuda de Redsys y me ayudaron mucho diciendome que tenia que leer el manual !!!! Gracias.
De momento estoy al punto muerto y las pruebas que he hecho no han sido concluyentes .
http://www.redsys.es/wps/portal/redsys/publica/areadeserviciosweb/descargaDeDocumentacionYEjecutables/!ut/p/a1/04_Sj9CPykssy0xPLMnMz0vMAfGjzOItHS1dDT3dDTz9g82MDDzD_HyNfPwdDfwDDIAKInErcHczJ06_AQ7gaEBIf7h-FFiJh7-zu6FRsIGXu7mTJVCfoZOTQbCPgYGRCVQBPieCFeBxQ0FuaIRBpqciAJbEr50!/dl5/d5/L2dBISEvZ0FBIS9nQSEh/
Esto es lo unico que contestan desde redsys
quizás sirva de ayuda para ver si funciona o no!!!
Hola ,
Ya lo tengo, el PHP que me funciona a mi es el siguiente :
<?php
// Se incluye la librería
include 'apiRedsys.php';
// Se crea Objeto
$miObj = new RedsysAPI;
// VALORES PASADOS DEBOTO DE LIST TIPOS DEPAGO
$order = $_GET['order1'];
$amount = $_GET['amount1'];
// Valores de entrada
$fuc="xxxx";
$terminal="x";
$moneda="xxx";
$trans="x";
$url="xxxx";
$urlOKKO="xxx";
$id=time();
$precio="xxx";
// Se Rellenan los campos
$miObj->setParameter("DS_MERCHANT_AMOUNT",$amount);
$miObj->setParameter("DS_MERCHANT_ORDER",strval($id));
$miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$fuc);
$miObj->setParameter("DS_MERCHANT_CURRENCY",$moneda);
$miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$trans);
$miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
$miObj->setParameter("DS_MERCHANT_MERCHANTURL",$url);
$miObj->setParameter("DS_MERCHANT_URLOK",$urlOKKO);
$miObj->setParameter("DS_MERCHANT_URLKO",$urlOKKO);
//Datos de configuración
$version="HMAC_SHA256_V1";
$kc = 'xxxxxxxxxxxxxxx';//Clave recuperada de CANALES
// Se generan los parámetros de la petición
$request = "";
$params = $miObj->createMerchantParameters();
$signature = $miObj->createMerchantSignature($kc);
?>
<html lang="es">
<head>
</head>
<body>
<form name="frm" action="https://sis.redsys.es/sis/realizarPago" method="POST" target="_blank">
Ds_Merchant_SignatureVersion <input type="text" name="Ds_SignatureVersion" value="<?php echo $version; ?>"/></br>
Ds_Merchant_MerchantParameters <input type="text" name="Ds_MerchantParameters" value="<?php echo $params; ?>"/></br>
Ds_Merchant_Signature <input type="text" name="Ds_Signature" value="<?php echo $signature; ?>"/></br>
<input type="submit" value="Enviar" >
</form>
</body>
</html>
Reemplazar los x por vuestros datos crear el TPV.PHP y subir el PHP`a la web asi que los archivos de la carpeta redsysHMAC256_API_PHP_4.0.2 (sin el archivo ejemploRecepcionaPet ni ejemploGeneraPet ) que podeis encontrar en el link de JOSE.M mas arriba (elegir API PHP Integración por redirección).
Suerte !!!
Si alguien sabe como arreglar un poco la pagina de confirmacion de pago que se ve muy fea ...
Hola, Herbs, no entiendo lo que comentas, puedes explicarme paso a paso como hacerlo.
estoy un poco perdido
Saludos y gracias por tu aporte
Cesar
Hola, te agradeceria me pudieras echar una mano,
mi mail es ***
cesarpp2 @ infonegocio . com
Buenos días, sigo intentando aplicar el php que aportó Herbs. No consigo hacerlo funcionar.
En el antiguo teníamos 2 partes: un código que incluímos en las formas de pago de Website "Pagar ahora", y otro "paginapasarela" que alojamos en el servidor.
En este nuevo, no se que partes hay que incluír en formas de pago, y tampoco me aclaro con el resto.
¿Alguien puede ofrecer ayuda a los que estamos más perdidos que un piojo en una peluca?
Saludos.
Buenos días José,
La implantación consiste en tres partes:
- La primera parte que se incluye a la forma de pago de website "Pagar ahora" es lo siguiente:
<a href="http://www.<b>tusitioweb.es</b>/cart/TPV.php?amount1=[PRICE,100,######]&order1=[ORDER_NO]"><button><font color="#0000cc"><strong>REALIZAR PAGO</strong></font></button>
</a>
- la segunda parte antes se llamaba "paginapasarela", ahora se llamara "TPV.php" y debe contener el siguiente código:
<?php
// Se incluye la librería
include 'apiRedsys.php';
// Se crea Objeto
$miObj = new RedsysAPI;
// VALORES PASADOS DEBOTO DE LIST TIPOS DEPAGO
$order = $_GET['order1'];
$amount = $_GET['amount1'];
// Valores de entrada
$fuc="<b>tufuc</b>";
$terminal="<b>tuterminal</b>";
$moneda="978";
$trans="<b>tutransacion</b>";
$url="<b>direccion de recepcion de pedido (e-mail, etc...)</b>";
$urlOKKO="http://<b>tusitioweb.es</b>/cart/index.html#step1";
$id=time();
$cien=100;
$precio=$amount/100;
// Se Rellenan los campos
$miObj->setParameter("DS_MERCHANT_AMOUNT",$amount);
$miObj->setParameter("DS_MERCHANT_ORDER",strval($id));
$miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$fuc);
$miObj->setParameter("DS_MERCHANT_CURRENCY",$moneda);
$miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$trans);
$miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
$miObj->setParameter("DS_MERCHANT_MERCHANTURL",$url);
$miObj->setParameter("DS_MERCHANT_URLOK",$urlOKKO);
$miObj->setParameter("DS_MERCHANT_URLKO",$urlOKKO);
//Datos de configuración
$version="HMAC_SHA256_V1";
$kc = 'tunuevaclaveSHA256';//Clave recuperada de CANALES
// Se generan los parámetros de la petición
$request = "";
$params = $miObj->createMerchantParameters();
$signature = $miObj->createMerchantSignature($kc);
?>
<html lang="es">
<head>
</head>
<body>
<form name="frm" action="https://sis.redsys.es/sis/realizarPago" method="POST" target="_blank">
Ds_Merchant_SignatureVersion <input type="text" name="Ds_SignatureVersion" value="<?php echo $version; ?>"/></br>
Ds_Merchant_MerchantParameters <input type="text" name="Ds_MerchantParameters" value="<?php echo $params; ?>"/></br>
Ds_Merchant_Signature <input type="text" name="Ds_Signature" value="<?php echo $signature; ?>"/></br>
<input type="submit" value="Enviar" >
</form>
</body>
</html>
cambiar lo que se encuentra en negrita y poner tus datos.
- la tercera parte consiste en subir a la carpeta cart mediante ftp los siguientes documentos:
1. la nueva página TPV.php
2. Y los archivos de la carpeta redsysHMAC256_API_PHP_4.0.2 (sin el archivo ejemploRecepcionaPet ni ejemploGeneraPet ) que podeis encontrar en el link de JOSE.M mas arriba (elegir API PHP Integración por redirección).
Saludos.
Al poner los datos que hay que modificar en negrita, se me ha cambiado a parametros. Cambiar los xxxxx:
Lo describo de nuevo:
<?php
// Se incluye la librería
include 'apiRedsys.php';
// Se crea Objeto
$miObj = new RedsysAPI;
// VALORES PASADOS DEBOTO DE LIST TIPOS DEPAGO
$order = $_GET['order1'];
$amount = $_GET['amount1'];
// Valores de entrada
$fuc="xxxx";
$terminal="xxxxxxx";
$moneda="978";
$trans="xxxxxxxxx";
$url="xxxxx direccion para recibir el pedido xxxxxxxx";
$urlOKKO="http://xxxxxxxxx.xxx/cart/index.html#step1";
$id=time();
$cien=100;
$precio=$amount/100;
// Se Rellenan los campos
$miObj->setParameter("DS_MERCHANT_AMOUNT",$amount);
$miObj->setParameter("DS_MERCHANT_ORDER",strval($id));
$miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$fuc);
$miObj->setParameter("DS_MERCHANT_CURRENCY",$moneda);
$miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$trans);
$miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
$miObj->setParameter("DS_MERCHANT_MERCHANTURL",$url);
$miObj->setParameter("DS_MERCHANT_URLOK",$urlOKKO);
$miObj->setParameter("DS_MERCHANT_URLKO",$urlOKKO);
//Datos de configuración
$version="HMAC_SHA256_V1";
$kc = 'xxxxxxxxxxxxxxx';//Clave recuperada de CANALES
// Se generan los parámetros de la petición
$request = "";
$params = $miObj->createMerchantParameters();
$signature = $miObj->createMerchantSignature($kc);
?>
<html lang="es">
<head>
</head>
<body>
<form name="frm" action="https://sis.redsys.es/sis/realizarPago" method="POST" target="_blank">
Ds_Merchant_SignatureVersion <input type="text" name="Ds_SignatureVersion" value="<?php echo $version; ?>"/></br>
Ds_Merchant_MerchantParameters <input type="text" name="Ds_MerchantParameters" value="<?php echo $params; ?>"/></br>
Ds_Merchant_Signature <input type="text" name="Ds_Signature" value="<?php echo $signature; ?>"/></br>
<input type="submit" value="Enviar" >
</form>
</body>
</html>
Hola Roberto,
muchas gracias por tu explicación, me voy a poner manos a la obra a ver que tal se me da.
En principio me parece que lo expones muy bien. Ya comentaré los progresos.
Te reitero mi agradecimiento. Saludos.
Buenas tardes Roberto, siguen los problemas. al pulsar PAGAR AHORA, da error, no encuentra el enlace al servidor. He repasado mil veces las modificaciones. En el código que se incluye en Website:
<a href="http://www.tusitioweb.es/cart/TPV.php?amount1=[PRICE,100,######]&order1=[ORDER_NO]"><button><font color="#0000cc"><strong>REALIZAR PAGO</strong></font></button>
</a>
he modificado tan sólo el nombre de mi web, y en el TPV.php las cruces que señalaste.
Después subí TPV.php modificado, apiRedsys.php, hash.php, hmac.php, json.php y sha256.php a la carpeta cart del servidor.
Hay algo que se me escapa y no doy con ello.
Saludos.
Buenas tardes José,
Como puedo saber tu correo para mandarte la información?
Un saludo.
Buenos días Roberto,
mi correo es ***
Muchas Gracias por contestar.
Saludos.
Roberto, veo asteriscos donde he puesto el correo, lo escribo con espacios a ver si lo puedes visualizar info @ armeriaeuropa . es
Ahora si.
Roberto podrías mandarmela a mi tambien.
***
info @ koneconsulting . es
No hay forma de ponerlo en marcha, y más arriba tienes mi correo.
He seguido todas tus instrucciones, pero no deja de salir el típico error de consulte a su comercio, antes de una pantalla
Buenas tardes,
Yo sigo igual. Le envié a Redsys los códigos antiguos, (los que funcionan perfectamente), y a continuación lo nuevo, con las modificaciones y explicación del proceso (esos que todavía no funcionan), para que les echaran un vistazo con el fin de que nos corrigieran algun error, y de eso hace 3 semanas, y,.... no me han hecho ni caso. Se lo he vuelto a reenviar, y, ... ni p*** caso.
Volveré a llamar a Redsys el lunes de nuevo, a ver si alguien quiere perder 1 minuto en mirar el correo.
Ya os cuento la semana que viene.
O pensando, a ver si a los únicos a los que no nos funciona es a Juan Luis M. y a mí. Porque veo pocos comentarios acerca del tema.
Saludos.
ha alguien le funciono??
que se pone en $trans ??dios esto me tiene loco porfavor contesten si les funciona
$TRANS es la transacion, según lo que tengas contratado con tu banco. Es 0 ó 1
Hola roberto tu conseguiste que te funcionara. Si es asi podrias mandarme mas informacion a mi correo electronico. Mi correo es info @ pequelusas . es Gracias que no consigo de ninguna manera que me funcione y me estoy volviendo loco mil gracias de antemano
Hola ya lo consegui gracias de todas formas un saludo uuuuueeeeeeeeee
hola. Estoy intentando unir tpv a laweb.
he metido los datos que indicais y al querer pagar me da error. Seguire revisando
Como evitar la pagina que sale con el hash, signature.... y darle a enviar?