Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RESPUESTA ANTES DE DARLE AL BOTON CONTINUAR ?? #100

Open
mgip opened this issue Mar 9, 2024 · 16 comments
Open

RESPUESTA ANTES DE DARLE AL BOTON CONTINUAR ?? #100

mgip opened this issue Mar 9, 2024 · 16 comments

Comments

@mgip
Copy link

mgip commented Mar 9, 2024

Hola, cuando sale el formulario de redsys, se introduce la tarjeta y luego se le da a pagar, procesa el pago, luego se le tiene que dar continuar para que redsys devuelva la respuesta a la URL OK o KO, el problema que veo es que necesito la respuesta antes que se le de a continuar, eso ocurre porque muchos no le dan a continuar, muchos usuarios al ver la notificacion en verde ya lo dan como pagado, pero mi aplicacion no se entera de la respuesta, si se logra ver si fue OK o KO por canales, pero la idea es que el app reciba la informacion porque es un sistema de reservas. Lo estoy desarrollando en Laravel 9.

¿Es posible?, lo otro que estuve leyendo fue usar el API REST, pero me surge una duda, como gestiona los pagos que requieren la autorizacion del banco, como sms o gestionarla via app (del banco), porque via pasarale redsys como lo tengo ahorita, si sale el html del banco.

De verdad estoy que me vuelvo loco, no encuentro informacion al respecto.

Gracias de antemano por la ayuda.

@ssheduardo
Copy link
Owner

Pero para eso esta la notificación ONLINE, cuando el usuario hace el pago el Banco te notifica a esta url de notificación, aunque el usuario le de o no a seguir.

@soyraziel
Copy link

Hola!!
He visto que en el código se puede poner la URL de notificación:

$redsys->setNotification('http://localhost/redsys-notification.php'); //Url de notificacion

Pero no sé cuándo se lanza esta URL. Entiendo que se lanza cuado se realiza el pago, independientemente de si el usuario pulsa el botón continuar o no para ir a la URL de OK o KO.

¿Podrías poner algún ejemplo de esta URL de notificación? ¿Qué parámetros recibe?

Gracias!!

@ssheduardo
Copy link
Owner

En el README esta el ejemplo https://github.com/ssheduardo/sermepa

@mgip
Copy link
Author

mgip commented Mar 16, 2024

Hola!! He visto que en el código se puede poner la URL de notificación:

$redsys->setNotification('http://localhost/redsys-notification.php'); //Url de notificacion

Pero no sé cuándo se lanza esta URL. Entiendo que se lanza cuado se realiza el pago, independientemente de si el usuario pulsa el botón continuar o no para ir a la URL de OK o KO.

¿Podrías poner algún ejemplo de esta URL de notificación? ¿Qué parámetros recibe?

Gracias!!

La duda que tengo es que si en vez de usar el metodo de redireccion, usas el que es via rest, como se restiona el iframe de los bancos ese que sale cuando haces un pago, el de SMS, o de aprobacion via app (del banco)

por cierto escribeme a [email protected] y te aclaro todo, el metodo de redireccion ya he trabado con el varias veces. ;)

@ssheduardo
Copy link
Owner

Luego si quieren compartir con el resto esto, puede servir de ayuda.

@mgip
Copy link
Author

mgip commented Mar 17, 2024

por mi no hay ningun problema! ;)...pero aun no me ha escrito.

por cierto Eduardo, sabes por lo menos aclararme la duda que tengo respecto al api rest ?

@ssheduardo
Copy link
Owner

Pero exactamente que duda tienes, el API rest se puede lanzar pero tienes que hablar con el Banco para el tema de las validaciones por tu lado, ellos dicen de usar mejor la redirección o InSite.

@mgip
Copy link
Author

mgip commented Mar 18, 2024

Pero exactamente que duda tienes, el API rest se puede lanzar pero tienes que hablar con el Banco para el tema de las validaciones por tu lado, ellos dicen de usar mejor la redirección o InSite.

Eduardo, el banco no es muy colaborador que digamos, jaja... pero me vale el "insite", a ver yo decia API rest para personalizar el formulario de pago, y no usar el de redsys (redireccion) como tal... Insite me vale... ya le estoy echando un ojo, creo que si es via iframe funcionarias automaticamente el tema de las validaciones del banco.... preparare un ejemplo practico con Jquery que veo que no existe en ningun lado. Gracias un saludo

@ssheduardo
Copy link
Owner

La verdad que si quieres con API Rest el Banco te va solicitar muchas cosas, siempre dicen Mejor hacer por Redirección o Insite.
Si logras hacer algo con Insite te invito a compartirlo y si eso agregamos a la DOC algún ejemplo.

@MontesionDesarrollos
Copy link

Hola buenas Eduardo. Lo primero, muchas gracias por tu trabajo y por este gran aporte.
Un poco con el hilo de esta pregunta, me pasa que la supuesta respuesta de notificación tras el pago en mi entorno local no está llegando.
$redsys->setNotification('http://localhost/redsys-notification.php'); //Url de notificacion
Quiero hacer testing para ver que recibo del banco y para seguir haciendo mi lógica del código tras un pago realizado correctamente, pero veo que no llega a esa URL (he probado con logs, emails, inserts DDBB..).
Alguien podría ayudarme? Quizá pueda ser debido al entorno de pruebas?
Muchas gracias de antemano!

@ssheduardo
Copy link
Owner

Pueda ser que la notificación no te llegue dado que el Banco hace un POST a la URL de notificación y tú localhost no es accesible para el Banco, intenta subirlo a una URL de algún servicio.

@MontesionDesarrollos
Copy link

Pueda ser que la notificación no te llegue dado que el Banco hace un POST a la URL de notificación y tú localhost no es accesible para el Banco, intenta subirlo a una URL de algún servicio.

Tienes toda la razón! Como podía esperar que el banco reconociera mi enlace de entorno de prueba 😅.
Por si a alguien más le ayuda en el futuro:
$redsys->setNotification('http://entorno-real/redsys-notification.php'); //Url de notificacion
El enlace de notificación tiene que apuntar a un entorno real para poder recuperar la respuesta del banco y poder hacer el testeo pertinente.

@MontesionDesarrollos
Copy link

Hola de nuevo @ssheduardo.
Como ya sabrán, hace unos meses implementé la pasarela de pago de La Caixa con tu clase y hasta el día de hoy está "casi" funcionando al 100%. Vuelvo aquí por ese "casi" dado que estoy teniendo algún problema que no consigo identificar y quizá alguien tenga la solución o le haya pasado algo parecido.
El flujo normal como veo que también han comentado por aquí algunos, sería que a la hora de el cliente realizar el pago, saltase el Notification (independientemente de si dan a continuar o no en la pasarela) para nosotros poder hacer toda la lógica de la reserva una vez confirmado. Luego es indiferente si el cliente decide seguir hacia el pago_ok/pago_ko.
El problema que estoy teniendo, es que parece que algunos pagos que acaban siendo satisfactorios, nunca llegan a pasar por el Notification (es decir, yo no tengo constancia de ellos) y eso me está generando bastantes problemas, quitando de lado que se convierte en un ejercicio manual de comprobar diariamente en la pasarela del banco si alguien me ha pagado y yo no lo he registrado.
Quisiera preguntar si a alguien le ha sucedido lo mismo? Si es un problema de mi banco? Si existe alguna manera en todo caso de volver a lanzar esa petición del Notification para comprobar si el cobro se ha realizado?
Es algo bastante raro y que por mucho que haya intentado identificar, poner logs, etc.. el problema radica en que esos "pagos fantasma" nunca llegan a pasar por mi Notification.
Muchas gracias.

@ssheduardo
Copy link
Owner

Te comento toda transacción queda registrado en Redsys, consulta con tu Banco para que te de acceso a un panel que tienen ellos y ahí podras buscar por fechas, importe, número de pedido, etc, aparte cuando encuentras un pedido en el panel que te proporciona el Banco puedes ver la información si en caso el Banco llamo a tú URL de notificación.

@MontesionDesarrollos
Copy link

Te comento toda transacción queda registrado en Redsys, consulta con tu Banco para que te de acceso a un panel que tienen ellos y ahí podras buscar por fechas, importe, número de pedido, etc, aparte cuando encuentras un pedido en el panel que te proporciona el Banco puedes ver la información si en caso el Banco llamo a tú URL de notificación.

Tengo acceso a dicho panel. Por ello es que puedo ver los pagos y puedo comparar los Cód. pedido con los que registro en mi DDBB. Y allí es cuando viene mi sorpresa que algunos pagos en Redsys están autorizados y mi código no ha sido capaz de registrarlos (no ha llegado ningún aviso al Notification).
Quizás de cada 5 pagos, 1 falla. ¿Nadie ha experimentado nada similar?

@ssheduardo
Copy link
Owner

Si ves un pedido que presuntamente no ha llegado a tu código mira cual fue la respuesta que recibió el Banco cuando consulto tu URL.
Esto se ve dando a un pedido -> dentro veras al final del todo la respuesta, otra opción es llamar al Banco y comentarle tu caso.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants