• Hola Jose !

    Tengo un problema con la actualización del estado del pedido una vez se ha completado el pago desde la pasarela. Aun que en el banco si nos llegan el pago (y se ha realizado correctamente), el estado del pedido no se actualiza y se queda en pendiente de pago y si se cancela el pedido o hay un error en el pago el estado del pedido tampoco se actualiza.

    Desde la terminal de Redsys podemos visualizar como efectivamente hay un error en la notificación a nuestra página con la resolución del pago para que el estado pueda actualizarse. El mensaje de error que informa es el siguiente:

    Fecha y hora: 03/07/2024 11:23:48

    Tipo notificación: HTTP

    Modo de comunicación: Síncrona

    Resultado operación: 0000

    Cod. respuesta servidor: Error (https://www.elpastor.com/wp/wp-content/uploads/tienda.png)

    Destino notificación: https://www.elpastor.com/tienda/?wc-api=WC_Gateway_redsys

    A mayores esto se confirma con los logs que registra el propio plugin, ya que sobre cada pedido el ultimo registro que aparece siempre son:

    07-14-2024 @ 19:04:00 – DS_MERCHANT_CONSUMERLANGUAGE: 001

    07-14-2024 @ 19:04:00 – DS_MERCHANT_PRODUCTDESCRIPTION: Pedido 1894

    07-14-2024 @ 19:04:00 – DS_MERCHANT_PAYMETHODS: T

    07-14-2024 @ 19:04:00 – DS_MERCHANT_MODULE: WooCommerce_Redsys_Gateway_Light_6.1.2_www.ads-software.com

    07-14-2024 @ 19:06:41 –

    Y nunca aparecen los registros asociados a la notificación:

    Tipo: MM-DD-YYYY @ HH:MM:SS – HTTP Notification received: Array (….)

    Gracias y un saludo.

    The page I need help with: [log in to see the link]

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

    (@jconti)

    Hola @duonex,

    No entiendo esto que pegas:

    Cod. respuesta servidor: Error (https://www.elpastor.com/wp/wp-content/uploads/tienda.png)

    ?Sale así en los logs de la operación en Redsys?

    Thread Starter duonex

    (@duonex)

    Buenas Jose, si ese es el error que arroja RedSys, te pegamos aqui todos los detalles de la transacción de RedSys.

    Detalle de la notificación 1
    Fecha y hora 15/07/2024 12:47:14
    Tipo notificación HTTP
    Modo de comunicación Síncrona
    Resultado operación 0000
    Cod. respuesta servidor Error (https://www.elpastor.com/wp/wp-content/uploads/tienda.png)
    Destino notificación https://www.elpastor.com/tienda/?wc-api=WC_Gateway_redsys
    Datos notificación Ds_SignatureVersion=HMAC_SHA256_V1&Ds_MerchantParameters=eyJEc19EYXRlIjoiMTUlMkYwNyUyRjIwMjQiLCJEc19Ib3VyIjoiMTIlM0E0NyIsIkRzX1NlY3VyZVBheW1lbnQiOiIxIiwiRHNfQ2FyZF9UeXBlIjoiQyIsIkRzX0NhcmRfQ291bnRyeSI6IjcyNCIsIkRzX0Ftb3VudCI6IjU2MDgiLCJEc19DdXJyZW5jeSI6Ijk3OCIsIkRzX09yZGVyIjoiMTEyMDAwMDAzMzAwIiwiRHNfTWVyY2hhbnRDb2RlIjoiMTM5MDIzOTk4IiwiRHNfVGVybWluYWwiOiIwMDEiLCJEc……

    Plugin Author Jose Conti

    (@jconti)

    Hola @duonex,

    No entiendo por qué en el código de respuesta está saliendo el enlace a una imagen, no tiene sentido.

    Thread Starter duonex

    (@duonex)

    Claro nosotros tampoco no le encontramos el sentido a que el error sea una imagen de la página web.

    No se si podrías indicarnos por dónde crees que podría surgir el problema, si por alguna redirección errona, alguna directiva en el .htaccess que pueda interferir o algo que se nos pase por alto en la propia configuración del plugin.

    Esta es la configuración del plugin actual que tenemos:

    Thread Starter duonex

    (@duonex)

    Lo que hemos visto en los registros de logs del plugin de RedSys en nuestra página es que cuando este caso de uso funcionaba se recibía:

    HTTP Notification received: Array
    (
    [Ds_SignatureVersion] => HMAC_SHA256_V1
    [Ds_MerchantParameters] => eyJE…..
    [Ds_Signature] => GufD…….
    )

    Received valid notification from Servired/RedSys
    ….

    Sin motivo aparente de un día para otro ahora se obtiene

    HTTP Notification received: Array
    (
    )

    Received INVALID notification from Servired/RedSys

    No se reciben los parámetros de la petición POST en el plugin con la sintaxis $_POST[‘nombreParametro’] ya que según la documentación de PHP es la forma de obtener parámetros de un form-data de una petición POST.

    Hemos falseado la petición con la herramienta Postman de un pedido en estado “Pendiente de Pago” que ha arrojado error en la plataforma de RedSys:

    Y el resultado de esta petición ha sido exitoso (200), ya que el pedido se ha cambiado al estado “Procesando” y en los logs hemos obtenido:

    07-22-2024 @ 12:35:55 - HTTP Notification received: Array

    (

    ? ? [Ds_SignatureVersion] => HMAC_S...

    ? ? [Ds_MerchantParameters] => eyJEc19....

    ? ? [Ds_Signature] => GuazD...

    )

    07-22-2024 @ 12:35:55 - Received valid notification from Servired/RedSys

    07-22-2024 @ 12:35:55 - eyJEc19.....

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - Checking order $order_id: XXXX

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - Order Exist: XXXX

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - Order Status: pending

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - $spaid: pending

    07-22-2024 @ 12:35:55 - $status: pending

    07-22-2024 @ 12:35:55 - ?

    07-22-2024 @ 12:35:55 - Ds_Amount: XXXX, Ds_Order: XXXXX, ? Ds_MerchantCode: XXXX, Ds_Currency: XXX, Ds_Response: XXXX, Ds_AuthorisationCode: XXXX, $order2: XXX

    07-22-2024 @ 12:35:55 - Order is Paid: FALSE

    07-22-2024 @ 12:35:56 - Payment complete.



    Es decir, todo el flujo se ha completado con éxito, por lo que el problema reside o bien, en el tipo de notificación que envía RedSys a nuestra plataforma (ya que los parámetros no se envían como un form-data de una petición POST) o bien en cómo el plugin obtiene esos parámetros.

    ?Sabrías decirnos si la solución pasa por nuestra mano o si por el contrario la solución depende de un tercero, ya sea RedSys o de este plugin?

    Plugin Author Jose Conti

    (@jconti)

    Hola @duonex,

    Disculpa el retraso en responder. Lo que me mata profundamente es esa imagen en el error. Nunca lo he visto. Creo que lo primero es que habléis con el correo de soporte de vuestro banco y le preguntéis el motivo que en el error salga el enlace a una imagen. Es que por muchas vueltas que le doy, no le veo el sentido. Un error es un error. Es como si cuando Redsys va a realizar la notificación, el servidor le mandara como respuesta/error una imagen.

    Personalmente no creo que sea problema de Redsys o del plugin, porque puedes ver que lo utilizan +20.000 sitios, y nadie ha dicho nada remotamente parecido. Entonces yo tiraría dirección al servidor o de un plugin de seguridad (si es que utilizáis alguno). Redsys y los sistemas de seguridad no se acaban de llevar bien, y muchas veces lo bloquean y hay que ponerlo en listas blancas. Que no sea que en vuestro caso esté bloqueándolo, pero en vez de devolver un 403, esté devolviendo como error en la cabecera el enlace de una imagen. La verdad es que en mi vida lo he visto, pero que no sea un error de configuración de algo de seguridad que utilizáis, y por eso sale ese error. Estoy pensando posibles explicaciones al misterio en voz alta, porque como comento en mi vida he visto algo parecido.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Pedidos Redsys “pendiente de pago”’ is closed to new replies.