Jump to content

Envío gratuito a partir de un importe


fjns29

Recommended Posts

Hola a todos;

Se me presenta el siguiente problema, tango configurado en mis transportistas para que a partir de un importe en el pedido el transporte sea gratuito, el problema que se presenta es que cuando meto el cupón de descuento el importe baja y el transporte se vuelve a cobrar.

Hay alguna forma para que no se tengan en cuenta los cupones descuento para el descuento del transporte.

Saludos y muchas gracias.

Link to comment
Share on other sites

Hola,

No entiendo bien, como has configurado lo del envío gratuito a partir de un monto?

En PrestaShop existe la posibilidad de configurar eso en Transporte -> preferencias 

No es necesario que metan un cupón para ello, se puede configurar el envío gratuito a partir de cierto monto o de cierto peso

Link to comment
Share on other sites

Hola, tal vez no me explique bien.

Supongamos que tengo un transporte que a partir de 60 euros es gratuito, de lo contrario se cobra 5 euros

Hago un pedido de 62 euros, con ese transporte me saldría  gratuito.

Ahora meto un cupón de descuento de 5 euros por lo que el pedido pasa de 62 euros a 57 euros y ahora el transporte ya no es gratuito porque no llega a 60 euros.

Lo que preguntaba, es si es posible que no se tenga en cuenta el cupón de descuento y siga dejando el transporte gratuito unicamente atendiendo al importe de la compra sin aplicar el descuento.

Es como el pez que se muerde la cola.

Link to comment
Share on other sites

En la clase cart.php hay que modificar la linea

'$orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, null, null, false);'

hay que cambiar "BOTH_WITHOUT_SHIPPING" por "ONLY_PRODUCTS"

 

Recuerda que lo ideal seria hacerlo con un override ya que de lo contrario se perdera con las actualizaciones

Link to comment
Share on other sites

Acabo de hacer el cambio como me indicabas pero no a funcionado

$orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, null, null, false);

        if ($orderTotalwithDiscounts >= (float) ($free_fees_price) && (float) ($free_fees_price) > 0) {

            $shipping_cost = $this->getPackageShippingCostFromModule($carrier, $shipping_cost, $products);

            Cache::store($cache_id, $shipping_cost);

 

            return $shipping_cost;

        }

He cambiado a

$orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::ONLY_PRODUCTS, null, null, false);

        if ($orderTotalwithDiscounts >= (float) ($free_fees_price) && (float) ($free_fees_price) > 0) {

            $shipping_cost = $this->getPackageShippingCostFromModule($carrier, $shipping_cost, $products);

            Cache::store($cache_id, $shipping_cost);

 

            return $shipping_cost;

        }

Tengo la versión 8.2

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...