Problema al pasar a modo real
-
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]
-
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é CotiHola 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 26514En 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.
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 htaccessAl 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.
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)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?
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.
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.
-
This reply was modified 6 years, 6 months ago by
- The topic ‘Problema al pasar a modo real’ is closed to new replies.