• Hola,
    He instalado la versión Light del plugin. Al realizar los tests en la fase de pruebas, todo me ha funcionado correctamente, incluso los pedidos han pasado a esta en proceso, y recibía correctamente los mails de wordpress de aviso de nuevo pedido.

    Al tener el ok de redsys para pasar a producción en modo real, he cambiado la clave de encriptación, desmarcado el modo de pruebas, etc.. y al realizar los pagos, ahora se quedan en “pendiente de pago”. No entiendo pq funcionaba bien en pruebas, pero no en modo real.

    He activado el log, pero no me graba el archivos en woocommerce/logs/redsys.txt. No encuentro ese archivo, no existe.

    Cómo podría averiguar qué es lo que sucede?

    PD: utilizo Cloudflare, pero en modo de pruebas no he tenido problema y no he modificado nada de la configuración.

    Gracias.

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

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

    (@jconti)

    Hola,

    Tengo que cambiar el texto de los logs, ya que indica de forma incorrecta dónde se encuentran.

    Para ver los logs, debes ir a WooCommerce > Estado > Registros y ahí encontrarás un desplegable. Debes seleccionar el de redsys y con las fechas correctas.

    En cuanto a que no te los marque cómo pagados, el único cambio que se produce en el plugin, es la URL de Redsys, nada más.

    Mira que en Redsys (la web) estén bien configuradas las notificaciones, no vaya a ser que al pasarlo a producción, se haya desmarcado la notificación http.

    Saludos
    José Coti

    Hola José,
    Gracias por la respuesta. He encontrado los logs en la ruta que indicas. No veo por eso que me indique ningún error, únicamente los datos del pedido:

    10-01-2018 @ 10:20:01 – Helping to understand the encrypted code:
    10-01-2018 @ 10:20:01 – DS_MERCHANT_AMOUNT: 012
    10-01-2018 @ 10:20:01 – DS_MERCHANT_ORDER: 805000026514
    10-01-2018 @ 10:20:01 – DS_MERCHANT_MERCHANTCODE: 031201999
    10-01-2018 @ 10:20:01 – DS_MERCHANT_CURRENCY978
    10-01-2018 @ 10:20:01 – DS_MERCHANT_TRANSACTIONTYPE: 0
    10-01-2018 @ 10:20:01 – DS_MERCHANT_TERMINAL: 001
    10-01-2018 @ 10:20:01 – DS_MERCHANT_MERCHANTURL: https://www.ludobooks.com/?wc-api=WC_Gateway_redsys
    10-01-2018 @ 10:20:01 – DS_MERCHANT_URLOK: https://www.ludobooks.com/carro/finalizar-comprar/order-received/26514/?key=wc_order_5bb1d8ae3319d&utm_nooverride=1
    10-01-2018 @ 10:20:01 – DS_MERCHANT_URLKO: https://www.ludobooks.com/carro/?cancel_order=true&order=wc_order_5bb1d8ae3319d&order_id=26514&redirect&_wpnonce=e9eee66fc0
    10-01-2018 @ 10:20:01 – DS_MERCHANT_CONSUMERLANGUAGE: 001
    10-01-2018 @ 10:20:01 – DS_MERCHANT_PRODUCTDESCRIPTION: Pedido 26514

    En cuanto a redsys, en el panel de control del comercio, está indicada la notificación “HTTP y Email Comercio”, y sincronización “Síncrona”. Las URL OK y KO están en blanco, y el envío de parametros en las URL pone que “Sí”.

    Ves algo que no esté correcto?

    Gracias.

    Plugin Author Jose Conti

    (@jconti)

    Vale, el problema es el siguiente.

    Tienes activa la compatibilidad con SNI, que no se si es necesario activarla en tu caso. El certificado que utilizas es Comodo y a Redsys no le suele gustar este certificado, aunque no se muy bien si depende del tipo del certificado Comodo.

    Al tener activa la compatibilidad con SNI, estas enviando la dirección dónde debe realizar las notificaciones Redsys sin certificado, es decir, HTTP en vez de HTTPS

    https://www.ludobooks.com/?wc-api=WC_Gateway_redsys

    Que pasa, que si sigues ese enlace, verás que te redirecciona a HTTPS, y Redsys no acepta que se le redireccione.

    Tienes algo que está forzando la redirección a HTTPS y debes desactivarlo.

    Tienes varias opciones;

    1.- Desactiva la compatibilidad con SNI a ver si te marca los pedidos cómo pagados.
    2.- Si no los marca, activa de nuevo SNI y mira de eliminar la redirección forzada, por ejemplo, si la redirección está en el archivo .htaccess, a?ade una excepción para el slug /?wc-api=WC_Gateway_redsys
    3.- En el caso en que no puedas eliminar la redirección y no te funcione sin activar la compatibilidad con SNI, deberás adquirir otro certificado o cambiarlo tar de hosting (si es que la redirección formada es por culpa del hosting y no puedes desactivarla).

    • This reply was modified 6 years, 6 months ago by Jose Conti.

    Buenos días Jose,
    He conseguido solventar el problema de la comunicación haciendo un cambio en la configuración SSL en Cloudflare. Por si a alguien le pasara, lo que he hecho es:
    – Pasar de Flexible a Full
    – Desactivar el plugin de Cloudflare flexible SSL
    – Poner el plugin de Simple SLL
    – A?adir la execpción en htaccess

    Al pagar un pedido, recibo ahora el correo de confirmación, pero sin embargo ahora me aparece un nuevo error que hace que el pedido no quede en estado Procesando, sino En espera, que es el siguiente:
    “Error de validación: Los totales de pedido y del aviso no coinciden (pedido: 058 – recibido: s). El estado del pedido cambió de Pendiente de pago a En espera.”

    * El importe del pedido era de únicamente 58 céntimos. Quizás es por eso que no recoge bien el importe?

    A qué podría deberse este nuevo error?

    Gracias y disculpa las molestias.

    Plugin Author Jose Conti

    (@jconti)

    En este caso necesitaríamos los logs.
    WooCommerce > Estado > Registros > y seleccionas el último que tengas de Redsys.
    En los logs veremos la cantidad que se envía a cobrar y que devuelve Redsys. Básicamente, Redsys está diciendo que ha cobrado una cantidad diferente a esos 58 centimos que comentas, el tema es saber qué está diciendo.

    Uno dice 058 y el otro dice 58… aquí tienes el log:

    10-02-2018 @ 23:28:28 – Received INVALID notification from Servired/RedSys
    10-02-2018 @ 23:30:35 – Generating payment form for order 26538. Sent data: Array
    (
    [Ds_SignatureVersion] => HMAC_SHA256_V1
    [Ds_MerchantParameters] => eyJEU19NRVJDSEFOVF9BTU9VTlQiOiIwNTgiLCJEU19NRVJDSEFOVF9PUkRFUiI6IjU1MTAwMDAyNjUzOCIsIkRTX01FUkNIQU5UX01FUkNIQU5UQ09ERSI6IjAzMTIwMTk5OSIsIkRTX01FUkNIQU5UX0NVUlJFTkNZIjo5NzgsIkRTX01FUkNIQU5UX1RSQU5TQUNUSU9OVFlQRSI6IjAiLCJEU19NRVJDSEFOVF9URVJNSU5BTCI6IjAwMSIsIkRTX01FUkNIQU5UX01FUkNIQU5UVVJMIjoiaHR0cDpcL1wvd3d3Lmx1ZG9ib29rcy5jb21cLz93Yy1hcGk9V0NfR2F0ZXdheV9yZWRzeXMiLCJEU19NRVJDSEFOVF9VUkxPSyI6Imh0dHBzOlwvXC93d3cubHVkb2Jvb2tzLmNvbVwvY2Fycm9cL2ZpbmFsaXphci1jb21wcmFyXC9vcmRlci1yZWNlaXZlZFwvMjY1MzhcLz9rZXk9d2Nfb3JkZXJfNWJiM2UzNzc5Nzk5NyZ1dG1fbm9vdmVycmlkZT0xIiwiRFNfTUVSQ0hBTlRfVVJMS08iOiJodHRwczpcL1wvd3d3Lmx1ZG9ib29rcy5jb21cL2NhcnJvXC8/Y2FuY2VsX29yZGVyPXRydWUmYW1wO29yZGVyPXdjX29yZGVyXzViYjNlMzc3OTc5OTcmYW1wO29yZGVyX2lkPTI2NTM4JmFtcDtyZWRpcmVjdCZhbXA7X3dwbm9uY2U9ZGFmNjVhZmNhNSIsIkRTX01FUkNIQU5UX0NPTlNVTUVSTEFOR1VBR0UiOiIwMDEiLCJEU19NRVJDSEFOVF9QUk9EVUNUREVTQ1JJUFRJT04iOiJQZWRpZG8gMjY1MzgiLCJEU19NRVJDSEFOVF9NRVJDSEFOVE5BTUUiOiJMVURPQk9PS1MifQ==
    [Ds_Signature] => gNcDauZxkgjmu6K+DExtWFhjJZjMp27e3nypJ2j959o=
    )

    10-02-2018 @ 23:30:35 – Helping to understand the encrypted code:
    10-02-2018 @ 23:30:35 – DS_MERCHANT_AMOUNT: 058
    10-02-2018 @ 23:30:35 – DS_MERCHANT_ORDER: 551000026538
    10-02-2018 @ 23:30:35 – DS_MERCHANT_MERCHANTCODE: 031201999
    10-02-2018 @ 23:30:35 – DS_MERCHANT_CURRENCY978
    10-02-2018 @ 23:30:35 – DS_MERCHANT_TRANSACTIONTYPE: 0
    10-02-2018 @ 23:30:35 – DS_MERCHANT_TERMINAL: 001
    10-02-2018 @ 23:30:35 – DS_MERCHANT_MERCHANTURL: https://www.ludobooks.com/?wc-api=WC_Gateway_redsys
    10-02-2018 @ 23:30:35 – DS_MERCHANT_URLOK: https://www.ludobooks.com/carro/finalizar-comprar/order-received/26538/?key=wc_order_5bb3e37797997&utm_nooverride=1
    10-02-2018 @ 23:30:35 – DS_MERCHANT_URLKO: https://www.ludobooks.com/carro/?cancel_order=true&order=wc_order_5bb3e37797997&order_id=26538&redirect&_wpnonce=daf65afca5
    10-02-2018 @ 23:30:35 – DS_MERCHANT_CONSUMERLANGUAGE: 001
    10-02-2018 @ 23:30:35 – DS_MERCHANT_PRODUCTDESCRIPTION: Pedido 26538
    10-02-2018 @ 23:31:29 – HTTP Notification received: Array
    (
    [Ds_SignatureVersion] => HMAC_SHA256_V1
    [Ds_MerchantParameters] => eyJEc19EYXRlIjoiMDIlMkYxMCUyRjIwMTgiLCJEc19Ib3VyIjoiMjMlM0EzMSIsIkRzX1NlY3VyZVBheW1lbnQiOiIxIiwiRHNfQ2FyZF9UeXBlIjoiQyIsIkRzX0NhcmRfQ291bnRyeSI6IjcyNCIsIkRzX0Ftb3VudCI6IjU4IiwiRHNfQ3VycmVuY3kiOiI5NzgiLCJEc19PcmRlciI6IjU1MTAwMDAyNjUzOCIsIkRzX01lcmNoYW50Q29kZSI6IjAzMTIwMTk5OSIsIkRzX1Rlcm1pbmFsIjoiMDAxIiwiRHNfUmVzcG9uc2UiOiIwMDAwIiwiRHNfTWVyY2hhbnREYXRhIjoiIiwiRHNfVHJhbnNhY3Rpb25UeXBlIjoiMCIsIkRzX0NvbnN1bWVyTGFuZ3VhZ2UiOiIxIiwiRHNfQXV0aG9yaXNhdGlvbkNvZGUiOiIyOTc1MzkiLCJEc19DYXJkX0JyYW5kIjoiMSJ9
    [Ds_Signature] => -Q4h11TdH1BgAW0WqY1jPEphhBo407yfeU0g33Pkfoc=
    )

    10-02-2018 @ 23:31:29 – Received valid notification from Servired/RedSys
    10-02-2018 @ 23:31:29 – eyJEc19EYXRlIjoiMDIlMkYxMCUyRjIwMTgiLCJEc19Ib3VyIjoiMjMlM0EzMSIsIkRzX1NlY3VyZVBheW1lbnQiOiIxIiwiRHNfQ2FyZF9UeXBlIjoiQyIsIkRzX0NhcmRfQ291bnRyeSI6IjcyNCIsIkRzX0Ftb3VudCI6IjU4IiwiRHNfQ3VycmVuY3kiOiI5NzgiLCJEc19PcmRlciI6IjU1MTAwMDAyNjUzOCIsIkRzX01lcmNoYW50Q29kZSI6IjAzMTIwMTk5OSIsIkRzX1Rlcm1pbmFsIjoiMDAxIiwiRHNfUmVzcG9uc2UiOiIwMDAwIiwiRHNfTWVyY2hhbnREYXRhIjoiIiwiRHNfVHJhbnNhY3Rpb25UeXBlIjoiMCIsIkRzX0NvbnN1bWVyTGFuZ3VhZ2UiOiIxIiwiRHNfQXV0aG9yaXNhdGlvbkNvZGUiOiIyOTc1MzkiLCJEc19DYXJkX0JyYW5kIjoiMSJ9
    10-02-2018 @ 23:31:29 – Ds_Amount: 58, Ds_Order: 551000026538, Ds_MerchantCode: 031201999, Ds_Currency: 978, Ds_Response: 0000, Ds_AuthorisationCode: 297539, $order2: 000026538
    10-02-2018 @ 23:31:29 – Payment error: Amounts do not match (order: 058 – received: 58)

    Plugin Author Jose Conti

    (@jconti)

    Vale, es porque Redsys quita los ceros de delante y WooCommerce no. Tendré que normalizarlo para que no haya este problema.

    ?Este precio de 58 centimos es real? es decir, tienes cosas de 58 céntimos, o solo era de prueba. Lo pregunto para arreglarlo ya, o lo arreglo junto algún otro detalle que quiero arreglar.

    Era un importe de prueba, el importe real mínimo sería de 6€. En el caso de importes superiores a 1€, funcionaría sin problemas?

    Plugin Author Jose Conti

    (@jconti)

    Si, debería funcionar sin problemas ya que en este caso ya no se a?adirían el cero delante 0,58€ = 058

    es decir, WooCommerce enviaría 600 (6,00€ = 600) y Redsys devolvería 600, así que coincidiría.

    Pues me apunto esto para arreglarlo en la siguiente versión y que no hayan problemas con productos que solo valgan céntimos.

    Ok, pues lo pongo en producción ya. Ahí vamos! ??
    Y un par de preguntas…

    – La pantalla intermedia de confirmación, antes de que se redireccione automáticamente a Redsys, no se puede evitar, no? Que no la vea el usuario.

    – El nivel de seguridad de Redsys, no se puede configurar desde el plugin, no? Me refiero a escoger que pida o no confirmación del pago por código SMS, claves.. etc…

    Muchas gracias por la rapidez en contestar!

    Un saludo.

    Plugin Author Jose Conti

    (@jconti)

    No, no se puede evitar por la forma de funcionar Redsys. Esa pantalla intermedia es la que envía todos los datos a Redsys.

    El nivel de seguridad lo configura Redsys directamente. Si quieres que se pidan datos, ya sea los multicódigos con tarjetas de claves, envío de SMS, firmas numéricas, etc, debes pedirle a Redsys que lo active.

    Plugin Author Jose Conti

    (@jconti)

    Hola @msoravil,

    Marco el hilo cómo resuelto.

    Saludos

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘Problema al pasar a modo real’ is closed to new replies.