Pendiente de pago
-
Hola, al mover una web de un cliente de nuestro cPanel a un VPS los pagos con Redsys han dejado de funcionar correctamente.
Parece que los pedidos constan como “no pagados” a pesar de que el pago con la pasarela funciona correctamente.
Me he mirado los logs pero no veo nada que me de información relevante.
Cómo analizar y detectar el error ?
Gracias.
-
Hola, alguna ayudita por favor ? Gracias.
Hola.
Debes buscar el error en el log del TPV Virtual. Lo más probable es que la pasarela de Redsys no pueda comunicar el pago a la tienda online, bien porque ésta está bajo SSL con SNI o debido a algún plugin de seguridad que impide la conexión desde Redsys.
Saludos cordiales.
Hola.
?Has podido revisar los errores tal como te comenté?
Saludos cordiales.
Hola Jesús, perdona, es que estoy en Barcelona y bueno, estamos algo afectados con el atentado.
Vi el log antes de mandar este ticket, pero no identifiqué nada obvio. Te pego el último pago de prueba que hice ayer:
08-17-2017 @ 11:39:24 – Generating payment form for order #19495. Notify URL: https://**domain.com**/?wc-api=WC_MyRedsys
08-17-2017 @ 11:39:24 – Sending data to Redsys Array
(
[Ds_SignatureVersion] => HMAC_SHA256_V1
[Ds_MerchantParameters] => eyJEU19NRVJDSEFOVF9BTU9VTlQiOiI0OTYiLCJEU19NRVJDSEFOVF9PUkRFUiI6IjAwMDE5NDk1MzkyNCIsIkRTX01FUkNIQU5UX01FUkNIQU5UQ09ERSI6IjMzNDY2NTA0OSIsIkRTX01FUkNIQU5UX0NVUlJFTkNZIjoiOTc4IiwiRFNfTUVSQ0hBTlR
fVFJBTlNBQ1RJT05UWVBFIjoiMCIsIkRTX01FUkNIQU5UX1RFUk1JTkFMIjoiMDAxIiwiRFNfTUVSQ0hBTlRfTUVSQ0hBTlRVUkwiOiJodHRwOlwvXC9tb2trYXN0b3JlLmVzXC8/d2MtYXBpPVdDX015UmVkc3lzIiwiRFNfTUVSQ0hBTlRfVVJMT0siOiJodHRwczpcL1wvbW9ra2FzdG9yZS5lc
1wvY2hlY2tvdXRcL29yZGVyLXJlY2VpdmVkXC8xOTQ5NT9rZXk9d2Nfb3JkZXJfNTk5NGM0NWRhOGFhOSZ1dG1fbm9vdmVycmlkZT0xIiwiRFNfTUVSQ0hBTlRfVVJMS08iOiJodHRwczpcL1wvbW9ra2FzdG9yZS5lc1wvY2Fycml0b1wvP2NhbmNlbF9vcmRlcj10cnVlJmFtcDtvcmRlcj13Y19
vcmRlcl81OTk0YzQ1ZGE4YWE5JmFtcDtvcmRlcl9pZD0xOTQ5NSZhbXA7cmVkaXJlY3QmYW1wO193cG5vbmNlPTExM2Q4NzA3YTMiLCJEc19NZXJjaGFudF9Db25zdW1lckxhbmd1YWdlIjoiMDAxIiwiRHNfTWVyY2hhbnRfUHJvZHVjdERlc2NyaXB0aW9uIjoiMXhOdWV2byBlbnZcdTAwZWRvI
iwiRHNfTWVyY2hhbnRfVGl0dWxhciI6IlJlZHN5cyIsIkRzX01lcmNoYW50X01lcmNoYW50RGF0YSI6ImVkZDkxMzQxMTYwMzg3ZGRkZjVlZjk5MDk5YzkyMTBkNGU1Zjg3NDIiLCJEc19NZXJjaGFudF9NZXJjaGFudE5hbWUiOiJSZWRzeXMiLCJEc19NZXJjaGFudF9QYXlNZXRob2RzIjoiQyI
sIkRzX01lcmNoYW50X01vZHVsZSI6Indvb2NvbW1lcmNlIn0=
[Ds_Signature] => 1nz8bAUO8ocwMcrEeDFDKSjet39ZeuhXxhC73uYB1dY=
)Yo no identifico ningún error …..
Por cierto, no uso SSL bajo SNI, al ver q necesitaba IP dedicata uso HTTP y accedo a las URLs sin problema desde el exterior.
Hola.
Vaya, siento lo que ha pasado en Barcelona. Es una verdadera locura.
Respecto al problema con los pedidos que se quedan pendientes de pago, me parece que todo apunta al problema del SNI. Si intentas acceder a la URL donde se confirma el pago el servidor web, está redirigiendo de HTTP a HTTPS y tu sitio usa una IP compartida y usa un certificado de Let’s Encrypt. Como la pasarela de Redsys no soporta SNI (tampoco acepta los certificados de Let’s Encrypt), el certificado SSL que recibe es el de la IP correspondiente al servidor: s:/O=mkserver.katxe.net/OU=mkserver.katxe.net/CN=mkserver.katxe.net y como no confía en el (es un certificado autofirmado y no se corresponde con el nombre de tu web) pues no establece la conexión y el pago no se confirma.
Tienes que buscar en la configuración de tu sitio web y desactivar la redirección hacia HTTPS para la URL de confirmación de pago. Hay varias formas de hacer esto y depende un poco de tu sitio web, pero lo normal es que tengas un archivo .htaccess con algo parecido a esto:
# Enviar trafico HTTP a HTTPS
RewriteEngine On
# Y la conexión no es HTTPS
RewriteCond %{HTTPS} off
# Redirigimos a la versión con HTTPS
RewriteRule ^(.*)$ https://dominio.com/$1 [R=301,L,NE]Tienes que a?adir a la regla anterior una condición para excluir la redirección en el caso de que la cadena de consulta de la URL sea la de confirmación de pago. Debería quedar así:
# Enviar trafico HTTP a HTTPS
RewriteEngine On
# Si la cadena de consulta no contiene wc-api=WC_MyRedsys
RewriteCond %{QUERY_STRING} !wc-api=WC_MyRedsys [NC]
# Y la conexión no es HTTPS
RewriteCond %{HTTPS} off
# Redirigimos a la versión con HTTPS
RewriteRule ^(.*)$ https://dominio.com/$1 [R=301,L,NE]Lo que hace la regla anterior es que la redirección de HTTP a HTTPS no se aplica para la URL https://dominio.com/?wc-api=WC_MyRedsys y por tanto, si la pasarela accede por HTTP, se establece la conexión usando HTTP, sin cifrado y sin problemas con el certificado. He visto en los parámetros enviados a Redsys que la URL de confirmación va con http, así que eso es correcto. Basta con que consigas que la redirección no se aplique para la URL que te he indicado.
Mira cómo sí que hay redirección de HTTP a HTTPS:
Request URL:https://mokkastore.es/?wc-api=WC_MyRedsys
Request Method:GET
Status Code:302 Moved Temporarily <- Redirección
Remote Address:185.47.129.166:80
Connection:keep-alive
Content-Length:154
Content-Type:text/html
Date:Fri, 18 Aug 2017 16:09:28 GMT
Location:https://mokkastore.es/?wc-api=WC_MyRedsys <- Destino de la redirección
Server:nginx centminmod
X-Powered-By:centminmodSi consultas el log del TPV verás como los errores se deben a la validación del certificado SSL del servidor web que aloja tu web.
Saludos cordiales.
Confirmado, parece que al comprobar la URL me despisté y no vi el redir a HTTPS.
Como es Nginx voy a ver cómo aplicarlo.
Por otra parte, en el paste que te hice intenté proteger la identidad de la web, y no comprendo dónde se me ha colado.
Puedes por favor eliminar dicho rastro ?
Y darte las gracias por tu ayuda, la verdad es q cuando lo tenía en cPanel ya me tuve que pelear con ésto.
De nuevo, muy agradecido !
Buenas noches.
Vaya, siento haber publicado la URL real. He mirado pero no encuentro la opción de editar un comentario. ?Sabes cómo puede hacerse?
Saludos cordiales.
Ya lo miré antes, pero tampoco la veo ….. convendría preguntar igual.
Cómo has sacado esa URL ? no entiendo, yo no te la he pasado …. estaba en la parte codificada ?
Hola. He preguntado. A ver que me dicen.
Hola, gracias …. lo q no entiendo es pq pusiste esos links ni cómo los obtuviste !
Hola.
No es posible editar el post:
You can edit your own message for up to an hour.
When a post is made and people contribute answers to an issue, that then becomes part of the community resource for others to benefit from. Deleting posts removes this added value. Forum topics will only be edited or deleted if they represent a valid legal, security, or safety concern.
Please see https://make.www.ads-software.com/support/handbook/forum-welcome/#deleting-editing-posts
I looked at that thread and I see no security or safety issues.
La URL está en los parámetros que se envían a Redsys. La tuve que consultar para comprobar cual era el problema, que como sospechaba inicialmente tenía que ver con los certificados. Copié las cabeceras de la petición y allí se me olvidó editarlo.
Si no quieres que la web esté accesible hasta que no esté terminada, puedes filtrar el acceso por IP o poner una clave para acceder.
Saludos cordiales.
Da igual, ya está hecho. Es solo que intento proteger la privacidad de mis clientes, eso es todo ??
Amigo, el correo de tu web es válido ? te he mandado un email ??
Hola.
?A qué correo lo has enviado? ?Cual era el asunto del mensaje?
Saludos cordiales.
- The topic ‘Pendiente de pago’ is closed to new replies.