Hola @miriam_store, y gracias por la perspicaz observación, @silviaadmin.
El problema que describes es un clásico con la lógica de módulos que gestionan exenciones o validaciones de IVA. self::isDisabledLanguage() en este contexto suele verificar si el idioma actual del usuario o del contexto de la tienda está configurado para no mostrar cierta información de IVA, o si está deshabilitado para funcionalidades específicas del módulo (como la validación VIES).
Si necesitas que el banner se muestre independientemente de esa comprobación de idioma por alguna razón específica en tu checkout, podrías modificar temporalmente el comportamiento de ese if para probar. Aquí tienes una forma de hacerlo en tu archivo eurovat/eurovat.php:
function hookdisplayPaymentTop($params)
{
// Desactivamos la comprobación de idioma si sabemos que el banner debe mostrarse aquí.
// Esto permite que el resto del hook se ejecute y genere el banner.
// if (self::isDisabledLanguage()) {
// return '';
// }
require_once dirname(__FILE__) . '/classes/EurovatTaxService.php';
$this->warmCheckoutVatValidation();
$banner = '';
Al comentar la línea if (self::isDisabledLanguage()) { return ''; }, fuerzas que el hook continúe su ejecución, permitiendo que el banner se genere. Si esto resuelve el problema, entonces sabes que la lógica de isDisabledLanguage() es el culpable. Para una solución más robusta y que no se pierda con las actualizaciones del módulo, y para gestionar correctamente el IVA en tiendas B2B/B2C, te recomiendo considerar un módulo dedicado para la validación automática de NIF en VIES, que te ofrecerá una gestión más completa y mantenible de estas casuísticas.