Support » Plugin: WooCommerce Sermepa payment gateway » Pedidos pendientes de pago HTTP

  • Resolved pedro82

    (@pedro82)


    Hola Ángel,

    He instalado y configurado el plugin con los datos que me ha pasado el banco, realizo el proceso de compra correctamente (el pago se recibe en el banco) pero los pedidos siempre se guardan con el estado “Pendiente de pago”. Por lo que leo hay gente en la misma situación que yo, he intentado la solución de modificar el .htaccess pero no me ha funcionado.

    Datos que de interés:

    – No tengo certificado SSL.
    http://www.mitienda.com/?wc-api=WC_MyRedsys siempre me devuelve -1 y en el log aparece 04-28-2017 @ 08:45:50 Checking notification is valid...
    – El plugin tiene la siguiente configuración: sis-t y HTTP
    – Versión WooCommenrce: 2.4.8
    – Versión WordPress: 4.7.4

    -Log de una compra:

    04-28-2017 @ 08:29:57 - Generating payment form for order #1267. Notify URL: http://www.mitienda.com/?wc-api=WC_MyRedsys
    04-28-2017 @ 08:29:57 - Sending data to Redsys Array
    (
        [Ds_SignatureVersion] => HMAC_SHA256_V1
        [Ds_MerchantParameters] => eyJEU19NRVJDSEFOVF9BTU9VTlQiOjEwMTAsIkRTX01FUkNIQU5UX09SREVSIjoiMDAwMDEyNjcyOTU3IiwiRFNfTUVSQ0hBTlRfTUVSQ0hBTlRDT0RFIjoiMzM2NTYxMTk2IiwiRFNfTUVSQ0hBTlRfQ1VSUkVOQ1kiOiI5NzgiLCJEU19NRVJDSEFOVF9UUkFOU0FDVElPTlRZUEUiOiIwIiwiRFNfTUVSQ0hBTlRfVEVSTUlOQUwiOiIwMDEiLCJEU19NRVJDSEFOVF9NRVJDSEFOVFVSTCI6Imh0dHA6XC9cL3d3dy50b2FsbGl0YXNwbHVzLmNvbVwvP3djLWFwaT1XQ19NeVJlZHN5cyIsIkRTX01FUkNIQU5UX1VSTE9LIjoiaHR0cDpcL1wvd3d3LnRvYWxsaXRhc3BsdXMuY29tXC9jaGVja291dFwvb3JkZXItcmVjZWl2ZWRcLzEyNjc/a2V5PXdjX29yZGVyXzU5MDJlZjcyMjcxZTMiLCJEU19NRVJDSEFOVF9VUkxLTyI6Imh0dHA6XC9cL3d3dy50b2FsbGl0YXNwbHVzLmNvbVwvY2Fycml0b1wvP2NhbmNlbF9vcmRlcj10cnVlJmFtcDtvcmRlcj13Y19vcmRlcl81OTAyZWY3MjI3MWUzJmFtcDtvcmRlcl9pZD0xMjY3JmFtcDtyZWRpcmVjdCZhbXA7X3dwbm9uY2U9ZjEyYjcxOThlZSIsIkRzX01lcmNoYW50X0NvbnN1bWVyTGFuZ3VhZ2UiOiIwMDEiLCJEc19NZXJjaGFudF9Qcm9kdWN0RGVzY3JpcHRpb24iOiIyeFF1aXRhZ3Jhc2EiLCJEc19NZXJjaGFudF9UaXR1bGFyIjoiUFVTSCBDTEVBTiBTTCIsIkRzX01lcmNoYW50X01lcmNoYW50RGF0YSI6IjVkNzhhYWY1NWIzZDZjOWMyMWJmMmU0OTUyZmEzYzExMmMxNDNkMmQiLCJEc19NZXJjaGFudF9NZXJjaGFudE5hbWUiOiJQVVNIIENMRUFOIFNMIiwiRHNfTWVyY2hhbnRfUGF5TWV0aG9kcyI6IkMiLCJEc19NZXJjaGFudF9Nb2R1bGUiOiJ3b29jb21tZXJjZSJ9
        [Ds_Signature] => zFKAomMkMlP1UY6rxOuFy1tzc7J+ssUibab5j3kj7po=
    )

    Espero que me pueda ayudar.

    Un saludo y gracias.

Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Author jesusangel.delpozo

    (@jesusangeldelpozo)

    Hola.

    Por lo que veo aún estás en modo pruebas, para pasar a producción debes configurar el plugin en este modo.

    ¿Después de lo de Checking notification is valid no hay nada más? Si accedes a la URL de las notificaciones de forma manual siempre verás ese -1 porque la verificación de los datos falla, ya que es la pasarela de Redsys la que los debe enviar.

    Revisa en la pasarela de Redsys los logs de las notificaciones, a ver qué error es el que está recibiendo. También puedes echar un vistazo en el log de tu servidor web para buscar el resultado de las consultas procedentes de Redsys.

    Lo del .htaccess es sólo para la gente que tiene la web bajo HTTPS, que no es tu caso.

    Saludos cordiales.

    Thread Starter pedro82

    (@pedro82)

    Hola,

    He realizado una prueba de compra, he revisado las notificaciones de mi TPV y aparece:

    http://www.mitienda.com/?wc-api=WC_MyRedsys
    -1 Server returned HTTP response code: 403 for URL: http://www.mitienda.com/?wc-api=WC_MyRedsys

    El Ds_Response es 0000.

    En el log aparece lo siguiente:

    05-02-2017 @ 09:26:36 - Generating payment form for order #1272. Notify URL: http://www.mitienda.com/?wc-api=WC_MyRedsys
    05-02-2017 @ 09:26:36 - Sending data to Redsys Array
    (
        [Ds_SignatureVersion] => HMAC_SHA256_V1
        [Ds_MerchantParameters] => eyJEU19NRVJDSEFOVF9BTU9VTlQiOjc3MCwiRFNfTUVSQ0hBTlRfT1JERVIiOiIwMDAwMTI3MjI2MzYiLCJEU19NRVJDSEFOVF9NRVJDSEFOVENPREUiOiIzMzY1NjExOTYiLCJEU19NRVJDSEFOVF9DVVJSRU5DWSI6Ijk3OCIsIkRTX01FUkNIQU5UX1RSQU5TQUNUSU9OVFlQRSI6IjAiLCJEU19NRVJDSEFOVF9URVJNSU5BTCI6IjAwMSIsIkRTX01FUkNIQU5UX01FUkNIQU5UVVJMIjoiaHR0cDpcL1wvd3d3LnRvYWxsaXRhc3BsdXMuY29tXC8/d2MtYXBpPVdDX015UmVkc3lzIiwiRFNfTUVSQ0hBTlRfVVJMT0siOiJodHRwOlwvXC93d3cudG9hbGxpdGFzcGx1cy5jb21cL2NoZWNrb3V0XC9vcmRlci1yZWNlaXZlZFwvMTI3Mj9rZXk9d2Nfb3JkZXJfNTkwODQyYjg4MTgwZSIsIkRTX01FUkNIQU5UX1VSTEtPIjoiaHR0cDpcL1wvd3d3LnRvYWxsaXRhc3BsdXMuY29tXC9jYXJyaXRvXC8/Y2FuY2VsX29yZGVyPXRydWUmYW1wO29yZGVyPXdjX29yZGVyXzU5MDg0MmI4ODE4MGUmYW1wO29yZGVyX2lkPTEyNzImYW1wO3JlZGlyZWN0JmFtcDtfd3Bub25jZT0wMTFjZGMwNDg5IiwiRHNfTWVyY2hhbnRfQ29uc3VtZXJMYW5ndWFnZSI6IjAwMSIsIkRzX01lcmNoYW50X1Byb2R1Y3REZXNjcmlwdGlvbiI6IjF4QXJvbWEgQ1x1MDBlZHRyaWNvcyIsIkRzX01lcmNoYW50X1RpdHVsYXIiOiJQVVNIIENMRUFOIFNMIiwiRHNfTWVyY2hhbnRfTWVyY2hhbnREYXRhIjoiNWQ3OGFhZjU1YjNkNmM5YzIxYmYyZTQ5NTJmYTNjMTEyYzE0M2QyZCIsIkRzX01lcmNoYW50X01lcmNoYW50TmFtZSI6IlBVU0ggQ0xFQU4gU0wiLCJEc19NZXJjaGFudF9QYXlNZXRob2RzIjoiQyIsIkRzX01lcmNoYW50X01vZHVsZSI6Indvb2NvbW1lcmNlIn0=
        [Ds_Signature] => UGZw78E4nBdsmcq5ga34NTO+FSXvZyhaqaVD1kou3ws=
    )

    El servidor no genera ningún tipo de error.

    Tengo instalado el plugin Wordfence Security, ¿crees que podría ser el causante del error?

    Gracias y un saludo.

    Plugin Author jesusangel.delpozo

    (@jesusangeldelpozo)

    Hola.

    El WordFence tiene todas las papeletas para ser el responsable. El código 403 se genera en respuesta a un cliente de una página web o servicio para indicar que el servidor se niega a permitir la acción solicitada. En otras palabras, el servidor ha podido ser contactado, y ha recibido una petición válida, pero ha denegado el acceso a la acción que se solicita (la notificación de RedSys).

    Revisa la configuración del WordFence para permitir un POST a la URL http://www.tudominio.com/?wc-api=WC_MyRedsys

    Saludos cordiales.

    Thread Starter pedro82

    (@pedro82)

    Hola de nuevo,

    al final el culpable estaba en el .htaccess.

    Estaba bloqueando HTTP_USER_AGENT java/1.5.0, que es el usado por el TPV en la notificación.

    Muchas gracias por la ayuda y un saludo.

    Plugin Author jesusangel.delpozo

    (@jesusangeldelpozo)

    ¡Hay que ver qué cosas! Pero imagino que alguien o algo puso esa restricción en el .htaccess. No parece algo que se haga de forma manual.

    Hola,
    me pasa lo mismo. Los pedidos se quedan pendientes de pago y puedo ver que hay un error 403 en los registros de acceso al servidor y en el panel de control del TPV.

    La web usa la protección por “Shield Security” y tenía muchas líneas de seguridad en el archivo .htaccess, así que desactivé por completo el plugin firewall de Shield Security y eliminé todas las líneas de seguridad del archivo .htaccess. Ahora está limpio, solo tiene las pocas líneas de WordPress que no bloquean nada.

    También he puesto todas las IPs de RedSys en la lista blanca del firewall del servidor, pero no consigo quitar ese error 403. Por alguna extraña razón la web devuelve un error 403 en la url de vuelta cuando RedSys la contacta para informar del estado del pago. Si se visita manualmente poniendo la dirección en el navegador, está todo bien el código es 200 OK.

    Esto pasa tanto con SSL como sin SSL.
    He estado mucho tiempo con el soporte del TPV para ver si podía resolverlo con ellos, pero no ha servido nada de lo que han propuesto hasta ahora. Por último me han propuesto que prueba a cambiar de plugin y ver si así funciona, usando el oficial, pero antes de eso, quería saber si me podías ayudar.

    Qué más puede ser? Alguna idea?

    Muchas gracias de antemano.
    Un saludo

    Hola,
    Actualizo cómo lo he solucionado por si a alguien le sirve:

    Uso el plugin de seguridad de “Shield Security” y ahí había puesto las IPs de RedSys (preguntarlas al soporte técnico de vuestro TPV) en la lista blanca para que no fuesen bloqueadas, pero también uso otro plugin para bloquear el SPAM:
    WP-SpamShield
    Ahí también hay una lista blanca para poner las IPs. Ese era el plugin que estaba bloqueando las conexiones. En cuanto las he agregado, ya ha funcionado.

    Así que hay que revisar también los plugins anti SPAM para WordPress que pueda haber, además del fichero .htaccess y otros plugins de seguridad.

    Un saludo

    • This reply was modified 5 years, 4 months ago by AuralSolutions. Reason: misspellings
    Plugin Author jesusangel.delpozo

    (@jesusangeldelpozo)

    Hola.

    Me alegro de que hayas dado con la solución. El código de estado 403 significa que el acceso a la URL ha sido prohibido, y ahí todas las papeletas van a plugins relacionados con la seguridad o que estén diseñados para bloquear los accesos. Es probable que identifiquen el acceso de la pasarela de Redsys como un sistema automático y por defecto lo bloqueen.

    La solución, como has hecho, es añadir las IPs de Redsys a alguna lista blanca o desactivar el plugin que impide el acceso.

    Saludos cordiales.

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Pedidos pendientes de pago HTTP’ is closed to new replies.