Closed popnoart closed 8 years ago
A mi me pasa igual, funciona en producción pero NO en desarrollo... hay quien dice que la clave de desarrollo no es la correcta para sha256 y quien dice que es por la url de desarrollo que no es la correcta... habrá que llamar a redsys para que lo aclaren
Que gente más chapuza, les escribes y te marean enviando de uno a otro. La demo deja de funcionar, que caos con Redsys, felizmente estamos siguiendo esto en tiempo real.
Ya les he escrito contando todo el rollo, a ver si alguien responde (y que la respuesta sirva, claro), pero teniendo en cuenta que no han arreglado desde más de un año el fallo del pedido repetido cuando no se pudo realizar el pago, no tengo mucha esperanza....
Espero que lo reparen pronto que la fecha límite se acerca, a menos que lo extiendan.
Buenas,
Efectivamente, el entorno de desarrollo (sis-d) ha dejado de funcionar, pero el entorno de pruebas (sis-t) funciona.
Si no conseguís que funcione en entorno de pruebas probablemente es porque Redsys ha hecho un cambio del que no hay documentación por ninguna parte y del cual me enteré mientras se lo comentaba a uno de los técnicos que Banco Sabadell ha puesto para este tema.
Hasta ahora, los datos a utilizar contra el entorno de pruebas (sis-t) eran públicos y comunes para todos, pero ahora hay que utilizar los mismos datos que en producción (sis) a excepción de la clave, que es nueva, específica para pruebas y que tenéis que solicitar a vuestro banco, junto con la nueva clave para producción.
URL: https://sis-t.redsys.es:25443/sis/realizarPago Código de comercio: 327234688 Terminal: 1 Clave: qwertyasdf0123456789
URL: https://sis-t.redsys.es:25443/sis/realizarPago Código de comercio: mismo que en producción Terminal: mismo que en producción Clave: nueva, proporcionada por el banco, específica para entorno de pruebas
Por último, tengo una librería que ya está actualizada y funcionando en producción desde hace unos días. Tiene un ejemplo bastante potente que os puede servir de ayuda para actualizar ésta.
https://github.com/nkm/redsys-virtual-pos
Espero que os sirva de ayuda.
@nkm gracias por la aclaración, la librería la tengo actualizada, el lío solo era con la url de pruebas. Aclarado el tema por tu parte vamos a probar si es así.
Puff, pues vaya lío han montando a mitad del cambio, con lo que tardan mis clientes en conseguir algo del banco...
Esto va ser un lío enorme para los clientes que tengan montado con redsys.
Yo no puedo probar ahora mismo el entorno test ya que tengo todo en producción y vendiendo :D. Cuando alguien lo pueda confirmar se podría actualizar la libreria, proponiendo una key_test y cambiando la url.
La verdad es que este cambio es una faena, me venía muy bien que el entorno de pruebas fuera público, en fin...
Ya están avisados mis clientes de que tienen que llamar al banco. A ver si consigo la clave pronto y ya os cuento!
@markitosgv el tema de la key_test sería bueno que lo ponga el banco pero que lío madre mía.
Bueno, la primera noticia es que en el Santander no tienen ni idea de lo que les hablamos y que van a preguntar, y confunden lo que les pedimos primero con la clave del comercio diciendo que nos lo enviaron cuando el alta, y luego con la clave SHA 256. Creo que terminaré haciéndome pasar por mi cliente y llamando a Redsys a ver si cuela.
A casi una semana para el "cambio" y ni enterados los del banco, que chapuza. Yo de ti lo intentaba.
Ya está, al final ha sido lo mejor, me ha atendido una chica que me ha explicado como va. Lo único malo es que una vez aclarado el lío me dice que me envía un correo donde está todo detallado, y cuando lo abro es la documentación que tiene en la web que es la que está armando el lío porque siguen hablando de la url de pruebas y demás, en fin,...vaya caos, llega a pasar en diciembre y hunden el país :-P
Hay que entrar en https://sis-t.redsys.es:25443/canales/ que es una especie de panel de administración del entorno de pruebas. Y allí hay hacer lo mismo que hicimos en real, tomar nota de la clave SHA 256. Y ya está el resto es como en real, sólo cambiado la clave SHA 256 del panel de pruebas pro la del panel de real, y en teoría ya funcionaría.
Ah, otra cosa, si alguno sois migrados del 4b y para entrar en el panel de administración usabais el usuario PIXXXXX, ahora debéis usar como usuario el código de comercio, rellenando con 0 hasta 9 creo que me ha dicho, más -001 o la terminal correspondiente. En mi caso he tenido que solicitar nueva contraseña porque las que teníamos no valían.
Así que voy a probarlo.
@popnoart se agradece tanta dedicación con el tema, vaya dolores de cabeza vamos a ahorrar a otros. Ya nos comentas que tal las pruebas para ver si pasamos de DEV a MASTER
@popnoart muchas gracias por tu dedicación! poned un stick a este issue o lo metemos en un apéndice de la doc de esta libreria no? :D
Estamos trabajando más de redsys sacando fallos, realizando test, etc. etc.
Tengo unas ganas de quitármelo de encima! Me pilla justo con el inicio de un congreso para uno de los clientes, y vaya gracia como no pudieran pagar con tarjeta!
A ver la URL SI CAMBIA, es como dice @nkm La chica que me atendió me dijo que no, que era la misma que en real, pero no, tiene que ser la de test, así que por ese lado si que está bien la documentación. Resumo:
TEST URL: https://sis-t.redsys.es:25443/sis/realizarPago CLAVE: qwertyasdf0123456789 CLAVE SHA 256: Hay que verla en el panel de administración de la TPV del entorno de pruebas (https://sis-t.redsys.es:25443/canales/) En teoría ya no se puede usar una estándar si no que cada comercio debe buscar la suya.
LIVE URL: https://sis.redsys.es/sis/realizarPago CLAVE: la que os dieran en su día CLAVE SHA 256: Hay que verla en el panel de administración de la TPV del entorno real (https://canales.redsys.es/)
Con esto parece que va bien, de hecho ahora simula la conexión con el banco para la contraseña de cada tarjeta, cosa que antes no lo hacía.
Si es así en setEnviroment elimino other y asigno a test quedaría setEnviroment('test') o setEnviroment('live')
En el entorno de TEST el importe me sale sin asignar. Sin embargo, cambiando al entorno REAL sí funciona. He intentado ponerme en contacto con Redsys y sólo parece que cuando se queja uno públicamente en Twitter es cuando hacen amagos de responderte. Ni sé para qué tienen el correo de migracionSHA256@redsys.es, ya he preguntado sobre esto y nada.
Un caso extraño que me está pasando es que tras un cierto periodo, mi usuario y mi contraseña no me son válidos. He intentado recuperar la contraseña, pero no hay forma, no me llega ningún correo (ni tampoco respuesta por parte de ningún correo de redsys).
Espero que se resuelva este problema lo antes posible.
Hola Rubens,
a mi me pasaba al principio lo mismo pero era tema de la key que hay que obtenerla para sha-256 y obtenerla desde el entono de desarrollo https://sis-t.redsys.es:25443/canales/ Antes siempre era la misma en desarrollo para todo el mundo, pero ahora cada uno tiene una propia.
El 12 de noviembre de 2015, 12:09, Rubens García notifications@github.com escribió:
En el entorno de TEST el importe me sale sin asignar. Sin embargo, cambiando al entorno REAL sí funciona. He intentado ponerme en contacto con Redsys y sólo parece que cuando se queja uno públicamente en Twitter es cuando hacen amagos de responderte. Ni sé para qué tienen el correo de migracionSHA256@redsys.es, ya he preguntado sobre esto y nada.
Un caso extraño que me está pasando es que tras un cierto periodo, mi usuario y mi contraseña no me son válidos. He intentado recuperar la contraseña, pero no hay forma, no me llega ningún correo (ni tampoco respuesta por parte de ningún correo de redsys).
Espero que se resuelva este problema lo antes posible.
— Reply to this email directly or view it on GitHub https://github.com/ssheduardo/sermepa/issues/24#issuecomment-156087228.
Sí, lo curioso es que la clave que me sale en desarrollo es la misma que en real :(....
Bienvenido al barco, a mi test ya me esta funcionando con los datos que comenta @eduk2 (para real y test son distintos.)
Volveré a echarle un vistazo (cuando pueda volver al entorno de test, xD). Gracias @eduk2 @ssheduardo :-)
Creo que nos están dando gato por liebre (más de lo que nos han dado hasta ahora). Yo estoy haciendo la implementación en dos clientes y se supone que la clave SHA 256 del entorno de pruebas es diferente para cada cliente, no? Pues mis dos clientes tienen la misma. Así que me da a mi que sigue siendo la misma para todos.
La vuestra empieza por sq7 y termina en gJ7 ?
Para más señas, la mía de test: sq7HjrUOBfK......6ILgskD5srU870gJ7
El 12 de noviembre de 2015, 12:44, Paula I. Portilla Lejarza < notifications@github.com> escribió:
Creo que nos están dando gato por liebre (más de lo que nos han dado hasta ahora). Yo estoy haciendo la implementación en dos clientes y se supone que la clave SHA 256 del entorno de pruebas es diferente para cada cliente, no? Pues mis dos clientes tienen la misma. Así que me da a mi que sigue siendo la misma para todos.
La vuestra empieza por sq7 y termina en gJ7 ?
— Reply to this email directly or view it on GitHub https://github.com/ssheduardo/sermepa/issues/24#issuecomment-156094587.
En mi caso no es la misma, pero sí es la misma que la mía en REAL.
Jajajaja me parto con Redsys
@rubensdev eso si que no me pasa, son distintas en mis clientes. ¿Seguro que estas entrando en los dos sitios distintos? Son idénticos y salvo por la url yo no los distingo! TEST: https://sis-t.redsys.es:25443/canales/ LIVE: https://canales.redsys.es/
Y para uno de los clientes he tenido que volver a llamar porque ni siquiera estaba dado de alta en el sistema para pruebas y no podía entrar a panel de pruebas.
Pues ya relleno yo lo que queda porque es la misma para todos: sq7HjrUOBfKmC576ILgskD5srU870gJ7
@popnoart gracias por la clave :-) , voy a probar con ella a ver si no tengo el problema del importe y puedo hacer algo, jejeje. Volveré a comprobarlo cuando me llegue el correo de recuperación de contraseña...
Yo estoy resolviendo errores en el método check para subir unos cambios.
Al parecer las claves para test son públicas, así que actualizare README con dicha información: sq7HjrUOBfK......6ILgskD5srU870gJ7
Por cierto, con respecto a lo check o a validar pedidos... los datos de $parameters['Ds_MerchantData'] llevan todos codificados como si fueran una url (cosa que antes no pasaba)... y al menos yo los tengo que pasar por urldecode() para tratarlos correctamente.
2015-11-12 13:07 GMT+00:00 Eduardo notifications@github.com:
Al parecer las claves para test son públicas, así que actualizare README con dicha información: sq7HjrUOBfK......6ILgskD5srU870gJ7
— Reply to this email directly or view it on GitHub https://github.com/ssheduardo/sermepa/issues/24#issuecomment-156098491.
Yo doy por actualizados a mis clientes.
Os comento que con uno he tenido más problemas, su pasarela funcionaba todavía como la 4b, es decir, durante la supuesta migración de 4b a Redsys no los migraron correctamente, total que en test funcionaba y en real no. Tras volver a llamar me dicen que hay que iniciar la migración, hacer las pruebas de una denegada y otra aprobada (por cierto, con el fuc real, no el de test que te lo echan para atrás), y volver a llamar para que hagan efectiva la migración.
@popnoart vaya lío la verdad, pero bueno ya esta solucionado. Acabo de actualizar el README con el ejemplo de check ya probado y validado. Sino hay nada más creo que pasare a MASTER.
@eduk2 prueba con el ejemplo que tengo en README a mi me ha funcionado.
@eduk2 prueba con el ejemplo que tengo en README a mi me ha funcionado. sí, con ese he probado... y funcionar funciona... pero llega con %20letras%45.... cosas así... le paso un urldecode() a todo el array y ya lo tengo todo bien. A lo mejor depende de la codificación del fichero, del servidor o algo así y no a todo el mundo le ocurre... pero me da que es por la forma de enviar ahora los parámetros a la url de notificación... que ahí algo habrá cambiado por parte de redsys.
El 12 de noviembre de 2015, 14:28, Eduardo notifications@github.com escribió:
@eduk2 https://github.com/eduk2 prueba con el ejemplo que tengo en README a mi me ha funcionado.
— Reply to this email directly or view it on GitHub https://github.com/ssheduardo/sermepa/issues/24#issuecomment-156115779.
Si me envías el ejemplo que usas lo pruebo y te digo (pasame la captura de pantalla donde sale el error)
Yo realmente no lo considero un error, solo tema de codificación de la información que se recibe. Ejemplo de como lo recibía con el código tal cual: http://prntscr.com/91xy4c Y ya después con el urldecode() se ve así: http://prntscr.com/91xywi
Ten en cuenta que es con signos tipo @, tildes, etc. Todo lo demás sí se veía bien.
2015-11-12 14:42 GMT+00:00 Eduardo notifications@github.com:
Si me envías el ejemplo que usas lo pruebo y te digo (pasame la captura de pantalla donde sale el error)
— Reply to this email directly or view it on GitHub https://github.com/ssheduardo/sermepa/issues/24#issuecomment-156120373.
¿Según veo las capturas en un email donde te llega? Donde recoges esos datos si eso para agregar urldecode y listo.
Sí, llega a un email... simplemente haciendo pruebas para ver que recibo la información que envío con $redsys->setMerchantData();
La llamada que uso es algo así: $redsys->setMerchantData('email@email.com_10_123456_Descripción del pedido');
y para recibir la información algo así:
$datos = $parameters['DsMerchantData']; list($email, $id, $id2, $descripcion) = explode("", $datos);
if ($redsys->check($key, $_POST) && $DsResponse == 0) { mail(miEmail@gmail.com', 'Order OK', urldecode($email) . "\n\n". $id. "\n\n". $id2. "\n\n". urldecode($descripcion)); } else { mail('miEmail@gmail.com', 'Order KO', urldecode($email) . "\n\n". $id. "\n\n". $id2. "\n\n". urldecode($descripcion)); }
Tampoco se puede añadir urldecode() tal cual, porque lo que devuelve $parameters['Ds_MerchantData'] es un array... hay por ahí funciones o formas de pasárselo a todos los elementos del array... pero bueno en mi caso y para el ejemplo solo me hacía falta en el email y en la descripción ya que lo demás son números
Quizás lo ideal es no pasar mucha información con setMerchantData... y guardar datos en la llamada en la base de datos con algún identificador... pero para algunos casos es más rápido y cómodo hacerlo así tal cual y extraer de ahí lo que necesites sin tener que haberlo almacenado en ningún sitio.
2015-11-12 14:51 GMT+00:00 Eduardo notifications@github.com:
¿Según veo las capturas en un email donde te llega? Donde recoges esos datos si eso para agregar urldecode y listo.
— Reply to this email directly or view it on GitHub https://github.com/ssheduardo/sermepa/issues/24#issuecomment-156125738.
Te he respondido a tu email que sale en github. Sino queda más cosa cierro el tema y el viernes paso a Master.
Buenas chicos, Lamento que este post este cerrado, pero por desgracia aquí fue que vi la respuestas que he buscado desde hace tiempo y la vi ahora. Esto usando la rutina tpv que vi en github de ssheduardo, pero me da un erro en la parte de notificacion try{ $redsys = new Sermepa\Tpv\Tpv(); $key = 'sq7HjrUOBfKmC576ILgskD5srU870gJ7';
$parameters = $redsys->getMerchantParameters($_POST["Ds_MerchantParameters"]);
$DsResponse = $parameters["Ds_Response"];
$DsResponse += 0;
if ($redsys->check($key, $_POST) && $DsResponse <= 99) {
//acciones a realizar si es correcto, por ejemplo validar una reserva, mandar un mail de OK, guardar en bbdd o contactar con mensajería para preparar un pedido
echo "Posted it";
} else {
//acciones a realizar si ha sido erroneo
echo "Sorry!";
}
}
catch(Exception $e){
echo $e->getMessage();
}
error Notice: Undefined index: Ds_MerchantParameters in C:\xampp\htdocs\sermepa\tpvnotificacion.php on line 8
Soy nuevo en PHP y solo deseo utilizar un programa para TPV
Excusemen por postear en un post cerrado, pero es mi única solución.
p.d: La versión del programa es la última que vi en github
Buenas,
he abierto un nuevo issue porque ya me estoy volviendo loca. Ahora no funciona ni la que teníamos de alternativa.
El viernes pasado estuve implementando la clase para otro cliente diferente, pero lo tuve que dejar porque redsys empezó a lanzar error 500, así que lo dejé para cuando terminaran de hacer lo que estuvieran haciendo.
Hoy me he puesto a actualizar la clase con los últimos cambios y no funciona. He vuelto a la versión que tenía la última vez que todo había funcionado, pues nada, error.
Ya desesperada me he vuelto a descargar el ejemplo, lo he subido tal cual, y nada, ni siquiera el de ellos funciona.
Luego he probado con las ul que había encontrado en prestashop o magento y aquí podeis comprobar que no van: http://popnoart.com/redsys/ejemploGeneraPet.php
Eso si, en real funciona sin problemas, pero en pruebas nada.
¿Alguien más con este problema?