Pendiente de pago
-
Hola. Estoy en modo “entorno de pruebas” con la tarjeta de pruebas que me ha proporcionado el banco. WP corre sobre NginX. La página web está en un servidor de pruebas y el dominio es provisional.
En este servidor de pruebas no uso SSL, por lo que todo va por HTTP (no HTTPS). Por tanto, la redirección requerida:
https://dominio.com/?wc-api=WC_Gateway_redsys
http://dominio.com/?wc-api=WC_Gateway_redsysno debería ser necesaria aún.
La orden queda pendiente de pago cuando la transacción se ha hecho correctamebnte.
El log de redsys después de la transacción es este: https://pastebin.com/E6q6rJ4h
He estado leyendo sobre este problema y no encuentro la causa.
Mil gracias por la ayuda.
The page I need help with: [log in to see the link]
-
Hola @aitormendez,
¿La web de pruebas es la fb.e451…?
Lo pregunto porque si voy al endpoint me sale una página en blanco, y eso no debería pasar, debería mostrar un cuadro de error.
Por otro lado, la imagen n pastebin sale que es privada y que no la pudo ver, así que no puedo ver el log.
Saludos
-
This reply was modified 4 years, 9 months ago by
Jose Conti.
Muchas gracias por la respuesta, José. Sí, esa es la página. Ya veo la página en blanco en
http://fb.e451.net/?wc-api=WC_Gateway_redsys
¿Sabes cuál puede ser la causa?
El log en pastebin es ahora público. Lo había puesto como “unlisted” que, teóricamente, deja verlo con el enlace.
-
This reply was modified 4 years, 9 months ago by
Aitor Méndez.
Hola @aitormendez,
Ahora me.sale este mensaje en pastebin:
Error, this is a private paste or is pending moderation. If this paste belongs to you, please login to Pastebin to view it.
Lo de la página en blanco, si vas a WooCommerce > Estado > Registro > ya aquí mirad si en el desplegable sale algún error fatal de hoy. A ver si vemos algo ahí.
He puesto el log en este otro sitio, a ver si hay suerte:
https://hastebin.com/eledoqofop.yamlTengo un error en la página inicial de
WooCommerce>Status>System status“Your server does not have the SoapClient class enabled – some gateway plugins which use SOAP may not work as expected.”
Además,en
WooCommerce>Status>logsaparece un log rarísimo con texto en portugés.Fecha: 11 sept
Nombre del log: httpswoocommerce.comwp-jsonwccominbox-notifications1.0notifications.json-2021-09-11-edb276422fe203c8d743afcfe644b393.log
log: https://hastebin.com/rupiqepiyi.php
Hay otros logs que no parecen contener errores.
-
This reply was modified 4 years, 9 months ago by
Aitor Méndez.
El log que has pegado es normal. No hay nada extraño, lo único es que no sale la notificación, cosa lógica porque la página sale en blanco.
En tu caso SOAP no afecta más allá de que no podrás realizar las devoluciones desde WooCommerce, pero en nada a que se marque como pagado.
¿Utilizas algún plugin de seguridad? Que no haya algo que esté bloqueando el acceso a la.paglna de notificación.
Buenos días. No utilizo plugin de seguridad en el momento actual. He desactivado todos los plugins excepto ACF (imprescindible para el tema),
WoocommerceyWooCommerce Redsys Gateway Light.La página del endpoint sigue saliendo en blanco.
Voy a probar a cambiar el tema.
[actualización]
Con el tema
Twenty Twenty-Oneel endpoint devuelveServired/RedSys Notification Request Failure. Al menos funciona la página del endpoint.Voy a instalar el query monitor, a ver si me dice algo.
-
This reply was modified 4 years, 9 months ago by
Aitor Méndez.
-
This reply was modified 4 years, 9 months ago by
Aitor Méndez.
Query monitor no dice nada raro, pero he accedido al endpoint en el entorno local donde tengo activados los errores de depuración y me dice lo siguiente:
/srv/www/futurabasura.com/current/web/app/plugins/woo-redsys-gateway-light/includes/apiRedsys7.php134 Trying to access array offset on value of type null"En esa línea, dice:
$numPedido = $this->vars_pay['DS_ORDER'];-
This reply was modified 4 years, 9 months ago by
Aitor Méndez.
-
This reply was modified 4 years, 9 months ago by
Aitor Méndez.
He activado la depuración en el servidor de pruebas, ya se puede ver ahí el error:
http://fb.e451.net/?wc-api=WC_Gateway_redsys
-
This reply was modified 4 years, 9 months ago by
Aitor Méndez.
Hola @aitormendez,
El mensaje es normal si se accede directmnte. Se queja de que no le están llegando datos. Al tu acceder directamente, lógicamente no estás realizando ningún post de información, por el contrario, Redsys si que realiza un $_POST de información.
El error en el log es por el mismo problema, a la librería de Redsys (desarrollada por ellos) no le estan llegando datos y por eso te da el error en el log.
Limpia todos los logs, y prueba a realziar una compra. Si no hay nada más por ahí, ahora ya se marcará como pagado y no te saldrá ninún error en los logs.
Volvindo a la página en blanco, pues el theme hace algo que «mata» el endpoint si al activar el Twenty ya se puede acceder a él. El endpoint lo crea WooCommerce, mi plugin solo le dice a Woo como debe llamarlo, asi que es una incopatibilidad del theme con WooCommerce.
Saludos
Ok, muchas gracias, José. Me toca investigar.
Cierro el hilo.
De nada @aitormendez, a ti por toda la investigación que has realizado.
Cualquier duda me tienes por aquí.
@jconti, he probado a instalar el starter theme que uso (Sage) y ya por defecto, sin hacerle ninguna modificación, reproduce el error. O sea, que parece un problema del starter theme. Debería abrir un issue en su repo de GitHub, pero necesitaría algo de información para explicarles el problema.
El endpoint, dices que lo genera WC ¿correcto? Pero no lo veo en los endpoints que vienen en Woocommerce>Advanced.
Ahí vienen varios, pero nada relativo a Redsys. ¿Cómo y dónde se genera ese endpoint? ¿Hay documentación de ello para que pueda mostrársela a los autores del tema? Mil gracias.
Cuando se crean una pasarela para WooCommerce, debes declarar en path para el endpoint.
Esto se hace de esta forma:
add_query_arg( 'wc-api', 'WC_Gateway_redsys', home_url( '/' ) );Esto lo hacen todos los plugins que utilizan endpoint (los que funcionan exclusivamente por webservice no tienen por qué crearlo).
Aquí tines por ejemplo el de Stripe, que es todo via Webservice, pero crea el endpoint para cosas que no responde de forma inmediata via webservice.
add_query_arg( 'wc-api', 'wc_stripe', trailingslashit( get_home_url() ) );Puedes ver que es lo mismo (más o menos).
Pues por lo que sea el theme está matando los endpoint que crean las pasarelas.
Saludos
¡Perfecto! Muchas gracias. Ya te contaré si lo resuelvo.
De nada 🙂
Saludos
-
This reply was modified 4 years, 9 months ago by
The topic ‘Pendiente de pago’ is closed to new replies.