Hola @silvia_iberia, entiendo perfectamente los problemas que describes, son bastante comunes en PrestaShop 1.7.0.1, especialmente con la gestión de múltiples divisas y el cron.
Para el problema del redondeo y las discrepancias con las pasarelas de pago, la clave está en la configuración de las reglas de redondeo y en cómo tu pasarela de pago procesa los totales. PrestaShop ofrece dos modos principales que puedes ajustar por cada divisa:
- Redondear en cada artículo: El precio de cada producto se redondea individualmente antes de sumarse al total del carrito.
- Redondear en el total: Los precios de los productos se suman tal cual (con todos sus decimales) y solo el importe final del carrito se redondea.
Para ajustar esto, ve a Internacional > Localización > Divisas. Edita cada divisa y busca la opción 'Reglas de redondeo'. Intenta establecer 'Redondear en el total' para todas tus divisas y prueba a realizar pedidos. Esto suele resolver las inconsistencias con las pasarelas, ya que la mayoría de ellas redondean el importe final.
Respecto a la actualización automática de los tipos de cambio, es fundamental que la URL del cron sea precisa y que el cron job en tu servidor se ejecute correctamente. La URL con el token es esencial para la seguridad y el funcionamiento. Puedes encontrarla en el mismo menú:
- Ve a Internacional > Localización > Divisas.
- En la parte superior, deberías ver una sección que indica la URL para el cron job, algo como:
http://tudominio.com/modules/ps_currencyrates/cron.php?token=XYZABC (el token XYZABC será único para tu tienda).
- Copia esa URL exactamente y configúrala en tu cPanel, Plesk o el panel de control de tu hosting. Es vital que el token sea el correcto y que no haya espacios o caracteres extraños.
- Asegúrate de que el comando del cron job esté bien configurado. Si usas
wget o curl, sería algo así:
wget -q -O - 'http://tudominio.com/modules/ps_currencyrates/cron.php?token=XYZABC' >/dev/null 2>&1
O bien:
curl -s 'http://tudominio.com/modules/ps_currencyrates/cron.php?token=XYZABC' >/dev/null 2>&1
Si después de verificar la URL y el comando del cron sigue sin funcionar, es posible que sea un problema de configuración del servidor (por ejemplo, restricciones de allow_url_fopen en PHP o un firewall). En ese caso, te sugiero contactar con el soporte técnico de tu hosting para que verifiquen si el cron job se ejecuta y si hay algún error en el servidor al intentar acceder a esa URL.