Foros del Web » Programando para Internet » PHP »

TPV Sermepa Notificacion HTTP

Estas en el tema de TPV Sermepa Notificacion HTTP en el foro de PHP en Foros del Web. Buenas, tengo un problema a la hora de recibir notificaciones HTTP utilizando un tpV con Sermepa. EL formulario que envio es el siguiente: Código HTML: ...
  #1 (permalink)  
Antiguo 15/12/2011, 10:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 7
TPV Sermepa Notificacion HTTP

Buenas, tengo un problema a la hora de recibir notificaciones HTTP utilizando un tpV con Sermepa.

EL formulario que envio es el siguiente:

Código HTML:
<form name='form_compra' action='https://sis-t.sermepa.es:25443/sis/realizarPago' method='post'>
                                    <input type='hidden' name='Ds_Merchant_Amount' value='7600'>
                                    <input type='hidden' name='Ds_Merchant_Currency' value='978'>
                                    <input type='hidden' name='Ds_Merchant_Order' value='111215173205'>

                                    <input type='hidden' name='Ds_Merchant_MerchantCode' value='159103985'>
                                    <input type='hidden' name='Ds_Merchant_Terminal' value='1'>
                                    <input type='hidden' name='Ds_Merchant_TransactionType' value='0'>
                                    <input type='hidden' name='Ds_Merchant_MerchantURL' value='http://www.dominio.com'>
                                    <input type='hidden' name='Ds_Merchant_MerchantSignature' value='B032DD6DD69EBDC1C00FFFE1BF4D56DF4B06023B'>
                                    <input type='hidden' name='Ds_Merchant_UrlOK' value='http://www.dominio.com/notificacion.php'>
                                    <input type='hidden' name='Ds_Merchant_UrlKO' value='http://www.dominio.com/notificacion.php'> 

Hasta aqui todo correcto. El problema viene cuando un cliente mete sus datos bancarios correctamente, el TPV se los valida y le aparece una pantalla que le dice que su pago se ha realizado correctamente junto con un Boton de Continuar/Salir.
Si este cliente no pincha en ese boton no se le mandará a la pagina notificacion.php, al no mandarle a esa pagina la compra no queda registrada en la Base de Datos ni se el envia correo de compra al Administrador ni al Cliente.

Con otros TPVs existe una variable que se llama "urlnotificacion" que el funcionamiento es el mismo se lo pasas en un formulario previo. La diferencia es que aqui esta notificacion se hace inmediatamente el cliente valida su tarjeta, sin necesidad de que el cliente haga click.


Yo he visto TPVs de Sermepa que hacen la notificacion HTTP segun validas la compra. Sus formularios tienen exactamente las mismas variables.
En el panel de Sermepa tengo activada la notificacion http y en URL ok y URL KO tengo puesta la misma direccion notificacion.php


Si me pueden ayudar se lo agradezco. Un saludo

Última edición por djsampe; 15/12/2011 a las 10:55
  #2 (permalink)  
Antiguo 15/12/2011, 11:35
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 13 años
Puntos: 23
Respuesta: TPV Sermepa Notificacion HTTP

¿O sea que quieres que el formulario se envíe a la vez que muestra el cuadro de texto de confirmación de la compra?

Si es así, creo que es un evento que debes controlar con JavaScript
  #3 (permalink)  
Antiguo 15/12/2011, 11:58
 
Fecha de Ingreso: marzo-2007
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 7
Respuesta: TPV Sermepa Notificacion HTTP

No, el formulario este me envia directamente a la pagina del TPV, donde el cliente tiene que introducir sus datos de la tarjeta (Número, fecha caducidad, CVV) una vez ha introducido estos datos correctamente le envia a otra pagina donde tiene que poner su codigo PIN.

Una vez introducido el codigo PIN correctamente, se le ha aplicado el pago en su tarjeta de crédito. Es justo en ese instante cuando debería conectarse via http con la página notificacion.php

El problema es que este proceso no lo hace en ese instante, sólo lo hace cuando el cliente una vez ha introducido el PIN pincha en Continuar. El problema es que hay clientes que no dan en ese boton Continuar. Cierran el navegador, se van a otra pagina o se fuman un puro...a saber.

Yo se que tiene que haber alguna solucion a este problema porque he visto TPVs de Sermepa que si que te envian el correo de confirmacion segun has validado el PIN.
  #4 (permalink)  
Antiguo 15/12/2011, 12:04
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 13 años
Puntos: 23
Respuesta: TPV Sermepa Notificacion HTTP

Curiosa y coincidencialmente la solución es la misma. Controla ese evento (submit del PIN) por JavaScript para que el alert sea solo un aviso y no una ventana de confirmación

Debes usar JSON para enviarle los datos al script notificacion.php
  #5 (permalink)  
Antiguo 16/12/2011, 02:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 7
Respuesta: TPV Sermepa Notificacion HTTP

Cuando el cliente esta en la pagina del TPV (meter sus datos bancarios y luego otra pantalla del PIN) está en otro dominio (https://sis.sermepa.es/). No puedo controlar esas páginas, en teoria solo le puedo enviar las 2 variables Ds_Merchant_UrlOK y Ds_Merchant_UrlKO.

Luego en funcion de si se valida o no la tarjeta del cliente aplica una de estas variables OK y KO. Pero lo hace con un evento onClick, de esta forma:

Código HTML:
<input type="button" alt="Cerrar" onclick="document.location.href=unescape('http://www.dominio.com/notificacion.php');" value="Cerrar" onmouseout="hov(this,'botonAccion')" onmouseover="hov(this,'botonAccion btnhov')" class="botonAccion"> 
Entonces claro, hasta que el cliente no hace Click no entra en notificacion.php.
Como comente al principio en otros TPVs, por ejemplo en Caja Rural, existe una variable para el formulario que se llama urlnotificacion que hay si que entra en la URL que le mando segun el cliente ha validado su PIN.
  #6 (permalink)  
Antiguo 16/12/2011, 03:13
 
Fecha de Ingreso: marzo-2007
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 7
Respuesta: TPV Sermepa Notificacion HTTP

Bueno he encontrado la solucion, la tenía delante de mi todo el rato y yo sin saberlo..cosas de la programacion.

La variable que hay que utilizar en los TPVs de Sermepa para que te de la notificacion segun el cliente válida la tarjeta o no es Ds_Merchant_MerchantURL

De esta forma hay 3 variables que podemos utilizar.

Ds_Merchant_MerchantURL donde pondremos la pagina donde queremos que se haga el envio del correo al cliente/administrador asi como introducir los datos en la BD

Ds_Merchant_UrlOK será la URL donde ira el usuario si pincha en Salir/Continuar si su tarjeta y PIN han sido validados. Normalmente será una pagina donde se de las gracias al cliente por su compra

Ds_Merchant_UrlKO será la URL donde ira el usuario si pincha en Salir/Continuar si su tarjeta no ha sido validada. Yo aqui le envio de nuevo a la página de Elegir forma de pago, tambien se puede añadir un mensaje indicandole cual ha sido el motivo de la denegación de la compra, que pueden ser de muchos tipos.

TEMA CERRADO

Etiquetas: notificación, tpv, https
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:57.