ssheduardo / sermepa

Clase para utilizar la pasarela de pagos redsys, sermepa.
MIT License
191 stars 59 forks source link

Error en parametro #39

Closed lmoisesrojas closed 7 years ago

lmoisesrojas commented 8 years ago

Buenas tardes, Soy nuevo en PHP, estoy intentando acceder a la TPV VIRTUAL de BBVA Estoy utilizando la clase tpv.php Tengo varios temas (todos con la clave: $key = 'sq7HjrUOBfKmC576ILgskD5srU870gJ7'"

  1. Cuando el código del banco real y el entorno: live, dice: error en datos enviados
  2. Si por el contrario utilizo el entorno test(con el mismo código que me suplio el banco): Funciona , pero me dice; luego Notice: Undefined index: Ds_MerchantParameters in C:\xampp\htdocs\sermepa\tpvnotificacionKO.php on line 8

que es la parte de notificiacion.php $parameters = $redsys->getMerchantParameters($_POST["Ds_MerchantParameters"]);

Mi pregunta: Que me falta para poder ponerlo a funcionar en modo live, donde esta el error? La versión que estoy utilizando es la última que vi en github

Gracias mil

ssheduardo commented 8 years ago

Hola, acabo de probar la última versión en entorno test y funciona correctamente, tanto el envío como la notificación. Ahora bien si el entorno en real falla, deberías hablar con el soporte del banco para ver que esta pasando. En entorno test a mi me ha devuelto correctamente los datos de $_POST["Ds_MerchantParameters"]

lmoisesrojas commented 8 years ago

Gracias mil eduardo.

Mira lo que me presenta

  1. Primero en test me dice que todo esta bien
  2. Cuando le doy continuar me dar el error

Produce el error que te muestro

Ni te cuento del entorno de live, pues simplemente me dice el error que te envio anexo


De: Eduardo notifications@github.com Enviado: miércoles, 20 de julio de 2016 02:49:04 a. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Hola, acabo de probar la última versión en entorno test y funciona correctamente, tanto el envío como la notificación. Ahora bien si el entorno en real falla, deberías hablar con el soporte del banco para ver que esta pasando. En entorno test a mi me ha devuelto correctamente los datos de $_POST["Ds_MerchantParameters"]

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-233855424, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaO1aQu9ltK5EgvA0KwYIJYZS7Ijsks5qXcTggaJpZM4JQIaZ.

ssheduardo commented 8 years ago

Es raro que no te funcione todo el proceso del entorno de test con el código que te he comentado.

lmoisesrojas commented 8 years ago

Buenas eduardo

El código funciona y el banco me da el visto bueno a la transacción,el problema es cuando le doy al botón: CONTINUAR, que es cuando me da el error que te dije del parámetro.

Sobre el entorno: live, ni me deja entrar, me dice la url que faltan parámetros, incluso no me pone el monto.

Mira el código que tengo, tal vez soy yo, pues soy sumamente nuevo en PHP.


De: Eduardo notifications@github.com Enviado: miércoles, 20 de julio de 2016 03:15:34 p. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Es raro que no te funcione todo el proceso del entorno de test con el código que te he comentado.

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-234052117, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaKkdwcEu5YpCpQid3ruMxkNvsM5Iks5qXnPWgaJpZM4JQIaZ.

ssheduardo commented 8 years ago

Hola, no veo el código. Sería bueno que aportes capturas de pantallas del botón CONTINUAR y la pantalla siguiente.

lmoisesrojas commented 8 years ago

Hola eduardo,

El codigo de programa es este:

<?php include_once '/Tpv.php';

try{ //Key de ejemplo $key = 'sq7HjrUOBfKmC576ILgskD5srU870gJ7'; //$key='e489714571921c28c09a'; $redsys = new Sermepa\Tpv\Tpv(); //$redsys->setAmount(rand(10,600)); $redsys->setAmount(0001); $redsys->setOrder(time()); // $redsys->setMerchantcode('999008881'); //Reemplazar por el código que proporciona el banco $redsys->setMerchantcode('334345725'); $redsys->setCurrency('978'); $redsys->setTransactiontype('0'); $redsys->setTerminal('1'); $redsys->setMethod('C'); //Solo pago con tarjeta, no mostramos iupay $redsys->setNotification('http://localhost/sermepa/tpvnotificacion.php'); //Url de notificacion $redsys->setUrlOk('http://localhost/sermepa/tpvnotificacionOK.php'); //Url OK $redsys->setUrlKo('http://localhost/sermepa/tpvnotificacionKO.php'); //Url KO $redsys->setVersion('HMAC_SHA256_V1'); $redsys->setTradeName('Alfredo SRL'); $redsys->setTitular('Alfredo'); $redsys->setProductDescription('Compras diversas'); $redsys->setEnviroment('test'); //Entorno test

    $signature = $redsys->generateMerchantSignature($key);
    $redsys->setMerchantSignature($signature);

$redsys->executeRedirection(); // $form = $redsys->createForm(); } catch(Exception $e){ echo $e->getMessage(); } echo $form; ?> <!DOCTYPE html>

TPV ```
```

El codigo del comercio es real.

La clase tpv() es la tuya y la última que la baje.

No se si se debe de cambiar el $key para cuando sea REAL

la tarjeta es: 4548812049400004

Todo sale bien pero al retonar a la funcion:

da el siguiente error:

Notice: Undefined index: Ds_MerchantParameters in C:\xampp\htdocs\sermepa\tpvnotificacionOK.php on line 8

aqui esta la funcion(la cual es tuya) para cuando sale bien la transaccion, solo que la puse separada:

Mira el codigo

<?php include_once '/Tpv.php';

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 OK!"; } } catch(Exception $e){ echo $e->getMessage(); } ?> <!DOCTYPE html>

TPV ```
```

la linea 8 es: $parameters = $redsys->getMerchantParameters($_POST["Ds_MerchantParameters"]);

Si cambias a live: todo sale mal. casi me estoy rindiendo


De: Eduardo notifications@github.com Enviado: miércoles, 20 de julio de 2016 04:41:44 p. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Hola, no veo el código. Sería bueno que aportes capturas de pantallas del botón CONTINUAR y la pantalla siguiente.

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-234075770, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaEZBuBYO86awzoaf3RnmADs_flmHks5qXogIgaJpZM4JQIaZ.

ssheduardo commented 8 years ago

Has probado en realizar las pruebas en un servidor, el error pueda ser a que el banco hace una llamada a http://localhost/sermepa/tpvnotificacion.php Imagina que yo soy el banco y hago una llamada a tu url, ¿Qué sucede? No me va a encontrar localhost con esa ruta.

lmoisesrojas commented 8 years ago

Buenas tardes,

Oye, no hice nada, puse la clave del banco y funciono en live.

No se que paso ni nada, pero paso.

Te pregunto:

Se pueden pasar

  1. El numero de tarjeta
  2. Fecha vencimiento
  3. CVV2

Así de esta forma el usuario no debe de digitarlo o tú no lo recomienda?


De: Eduardo notifications@github.com Enviado: jueves, 21 de julio de 2016 03:18:45 a. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Has probado en realizar las pruebas en un servidor, el error pueda ser a que el banco hace una llamada a http://localhost/sermepa/tpvnotificacion.php Imagina que yo soy el banco y hago una llamada a tu url, ¿Qué sucede? No me va a encontrar localhost con esa ruta.

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-234176230, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaLrt8XlXgdsf3hFdFuEozUcaP02vks5qXx1VgaJpZM4JQIaZ.

ssheduardo commented 8 years ago

No se si tiene esa opción esta tpv, consulta con el banco. De todas formas yo personalmente solicito siempre los datos.

lmoisesrojas commented 8 years ago

Buenas tardes amigo,

Aqui nuevamente molestandote.

Fijate que por fin el programa de la tpv funciona completamente,

sinembargo, al poner el programa completo en un suddominio (toma en consideración que soy nuevo en esto), todas las opciones del menu funcionan, pero cuando intento invocar la opcion de la TPV, la cual funciona muy bien en mi pc tanto en version de test como live, el programa da el siguiente error, que te muestro en el attachment.

Alguna idea?


De: Eduardo notifications@github.com Enviado: jueves, 21 de julio de 2016 01:52:51 p. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

No se si tiene esa opción esta tpv, consulta con el banco. De todas formas yo personalmente solicito siempre los datos.

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-234331449, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaKDMjyZhddjVfnkMJQpjn4bTWwS2ks5qX7HzgaJpZM4JQIaZ.

lmoisesrojas commented 8 years ago

Buenas otra vez,

creo que vi el error, pero en realidad no se como solucionarlo

El problema es cuando se declara la clase $redsys = new Sermepa\Tpv\Tpv();

La cual es la clase desarrollada por ti.

Fijate que tanto en el servidor como en mi pc tengo la misma estructura de directorios, pero en el servidor NO FUNCIONA y es cuando da el error


De: Eduardo notifications@github.com Enviado: jueves, 21 de julio de 2016 01:52:51 p. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

No se si tiene esa opci?n esta tpv, consulta con el banco. De todas formas yo personalmente solicito siempre los datos.

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-234331449, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaKDMjyZhddjVfnkMJQpjn4bTWwS2ks5qX7HzgaJpZM4JQIaZ.

ssheduardo commented 8 years ago

Hola, no veo ninguna imagen del error, pero si te funciona en tu local y no el servidor, no crees que le falta algo, de todas formas pasa una captura de pantalla del error.

lmoisesrojas commented 8 years ago

Gracias mil por tu respuesta.

Fijate que el error que dice asi:

La pagina tpv.nombre no funciona.

La pagina tpv.nombre no puede procesar esta solicitud

HTTP error 500

He buscado este error, pero no me dice nada,

solo da el error cuando llamo la rutina tpv para enviar los datos

En los demas formularios de captura funciona todo bien: se adiciona, se consulta, se elimina, etc.

La tengo montada en un subdominio


De: Eduardo notifications@github.com Enviado: jueves, 18 de agosto de 2016 03:26:43 a. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Hola, no veo ninguna imagen del error, pero si te funciona en tu local y no el servidor, no crees que le falta algo, de todas formas pasa una captura de pantalla del error.

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-240645004, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaCJ9c9ITZgSPWbKGFHOG9ac-U2fhks5qhAkzgaJpZM4JQIaZ.

lmoisesrojas commented 8 years ago

Hola,

mira, hice un pequeño script, simplemente invoca la clase tpv e inmediatamente da el error y no ejecuta nada.


De: Eduardo notifications@github.com Enviado: jueves, 18 de agosto de 2016 03:26 a. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Author Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Hola, no veo ninguna imagen del error, pero si te funciona en tu local y no el servidor, no crees que le falta algo, de todas formas pasa una captura de pantalla del error.

You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-240645004, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaCJ9c9ITZgSPWbKGFHOG9ac-U2fhks5qhAkzgaJpZM4JQIaZ.

ssheduardo commented 8 years ago

Necesito alguna captura de pantalla para verlo del pequeño script que has echo o envíame el código (puedes usar http://pastebin.com/ para dejar el código que usas)

ssheduardo commented 8 years ago

Hola, @lmoisesrojas acabo de borrar tus mensajes dado que has dado tus datos de acceso al servidor a todo el mundo, esto no es privado cualquiera puede leer y entrar en el servidor. Te recomiendo que cambies inmediatamente los datos de acceso al servidor. Si quieres dejame tu email y te ayudo en lo que pueda.

lmoisesrojas commented 8 years ago

lmoisesrojas@gmail.com


De: Eduardo notifications@github.com Enviado: viernes, 19 de agosto de 2016 05:27:23 p. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Mention Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Hola, @lmoisesrojashttps://github.com/lmoisesrojas acabo de borrar tus mensajes dado que has dado tus datos de acceso al servidor a todo el mundo, esto no es privado cualquiera puede leer y entrar en el servidor. Te recomiendo que cambies inmediatamente los datos de acceso al servidor. Si quieres dejame tu email y te ayudo en lo que pueda.

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-241139772, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaDbMyRUN9xXvaf7TwhFTZQFNUZLvks5qhh-7gaJpZM4JQIaZ.

ssheduardo commented 8 years ago

Te mande un email

lmoisesrojas commented 8 years ago

Buenos dias,

No he recibido ningun email.

mis correos:

lmoisesrojas@gmail.com, lmoisesrojas@hotmail.com


De: Eduardo notifications@github.com Enviado: lunes, 22 de agosto de 2016 07:24:26 a. m. Para: ssheduardo/sermepa Cc: lmoisesrojas; Mention Asunto: Re: [ssheduardo/sermepa] Error en parametro (#39)

Te mande un email

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/ssheduardo/sermepa/issues/39#issuecomment-241384814, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMGPaMwcjHItxdeWkPeQiKPhPbatX1DSks5qiYbqgaJpZM4JQIaZ.