Support » Plugin: WooCommerce Redsys Gateway Light » Pendiente de pago

  • Resolved Aitor Méndez

    (@aitormendez)


    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_redsys

    no 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]

Viewing 15 replies - 1 through 15 (of 24 total)
  • Plugin Author Jose Conti

    (@jconti)

    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 9 months, 3 weeks ago by Jose Conti.
    Thread Starter Aitor Méndez

    (@aitormendez)

    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 9 months, 2 weeks ago by Aitor Méndez.
    Plugin Author Jose Conti

    (@jconti)

    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í.

    Thread Starter Aitor Méndez

    (@aitormendez)

    He puesto el log en este otro sitio, a ver si hay suerte:
    https://hastebin.com/eledoqofop.yaml

    Tengo 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>logs aparece 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 9 months, 2 weeks ago by Aitor Méndez.
    Plugin Author Jose Conti

    (@jconti)

    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.

    Thread Starter Aitor Méndez

    (@aitormendez)

    Buenos días. No utilizo plugin de seguridad en el momento actual. He desactivado todos los plugins excepto ACF (imprescindible para el tema), Woocommerce y WooCommerce 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-One el endpoint devuelve Servired/RedSys Notification Request Failure. Al menos funciona la página del endpoint.

    Voy a instalar el query monitor, a ver si me dice algo.

    Thread Starter Aitor Méndez

    (@aitormendez)

    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'];

    Thread Starter Aitor Méndez

    (@aitormendez)

    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 9 months, 2 weeks ago by Aitor Méndez.
    Plugin Author Jose Conti

    (@jconti)

    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

    Thread Starter Aitor Méndez

    (@aitormendez)

    Ok, muchas gracias, José. Me toca investigar.

    Cierro el hilo.

    Plugin Author Jose Conti

    (@jconti)

    De nada @aitormendez, a ti por toda la investigación que has realizado.

    Cualquier duda me tienes por aquí.

    Thread Starter Aitor Méndez

    (@aitormendez)

    @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.

    Plugin Author Jose Conti

    (@jconti)

    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( '/' ) );

    https://plugins.trac.wordpress.org/browser/woo-redsys-gateway-light/tags/3.0.4/woocommerce-redsys.php#L185

    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() ) );

    https://plugins.trac.wordpress.org/browser/woocommerce-gateway-stripe/tags/5.4.1/includes/class-wc-stripe-helper.php#L403

    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

    Thread Starter Aitor Méndez

    (@aitormendez)

    ¡Perfecto! Muchas gracias. Ya te contaré si lo resuelvo.

    Plugin Author Jose Conti

    (@jconti)

    De nada 🙂

    Saludos

Viewing 15 replies - 1 through 15 (of 24 total)
  • The topic ‘Pendiente de pago’ is closed to new replies.