Frete Fixo na Loja para M2

Existem muitas razões para utilizar um frete fixo na sua loja, e se você chegou até aqui, provavelmente conhece uma boa razão. Então vamos logo ao que interessa… vamos ver como configurar e tirar proveito máximo dessa funcionalidade nativa do sistema.

A Configuração

Acesse o admin da sua loja, e navegue no menu:

STORES > Settings > Configuration > SALES > Delivery Methods [Flat Rate]

Você deve reparar que este módulo já vem ativado por padrão. Vejamos então suas configurações:

Enabled (Habilitado)
É possível ligar ou desligar esse módulo para cada website que você tiver configurado.

Title (Título)
O título que irá aparecer para o cliente no frontend, geralmente algo como “Frete Fixo” ou “Frete Único”.

Method Name (Nome do Método)
Uma mensagem que vai logo abaixo do título, onde você pode comunicar ao cliente a forma de entrega. ex.: “Entrega por motoboy” ou “Entregamos em até 30 min”.

Type (Tipo)
A maneira como você irá cobrar o frete. Se Por Item, o valor será multiplicado pelo número de itens no carrinho. Caso for Por Pedido, o valor será único, independente da quantidade a ser enviada. Se selecionar Nenhum, então o valor não será associado nem aos itens, nem ao pedido, ou seja, se torna um envio grátis.

Price (Preço)
Provavelmente o mais fácil de entender, certo!? Informe o valor a ser cobrado (que será único ou multiplicado por item).

Calculate Handling Fee (Cálculo de Manuseio)
Se você decidir cobrar pelo manuseio da embalagem, pode decidir se a taxa será fixa, ou será uma taxa percentual conforme o valor da entrega.

Handling Fee (Taxa de Manuseio)
Você pode (ou não) adicionar uma taxa de manuseio para a embalagem.

Displayed Error Message (Mensagem de Erro)
Caso o método de envio fique indisponível ou inválido por conta de alguma regra ou compatibilidade com outro método disponível, uma mensagem de erro será apresentada, você pode customizar aqui.

Ship to Applicable Countries (Frete Disponível para os Países)
Clientes de quais países podem visualizar essa opção de frete.

Ship to Specific Countries (Frete nos Países)
Diferente da opção acima, aqui você não informa apenas quem está habilitado a ver o frete fixo, mas em quais países esta opção está valendo realmente.

Show Method if Not Applicable (Exibir Mesmo que não aplicável)
Se você criou alguma regra ou possui algum produto que não aceita este método de frete fixo, você pode optar por exibir mesmo assim (com aquela mensagem de erro), ou pode simplesmente ocultar a opção.

Sort Order (Ordem de Exibição)
Quando você tiver muitas opções de frete, pode definir a ordem em que serão exibidas, sendo o menor valor o de maior prioridade, ou seja, valor 0 -> opção que vem em primeiro lugar.

A Apresentação

Este método de envio será exibido em duas etapas. A primeira quando o cliente visita a página de Carrinho de Compras, como mostrado à seguir:

Exibindo o frete fixo na página do carrinho de compras.

E posteriormente, quando estiver na página de Checkout:

Exibindo o frete fixo no checkout da loja.

Claro que tudo isso depende do Template/Tema e suas customizações.

Testado no tema LUMA da versão 2.4.1 Open.

Customizando o Frete Fixo

Na página de checkout podemos carregar alguns módulos diferentes de frete, e cada um possui seu diretório de arquivos a serem modificados, no entanto, todos eles serão centralizados neste HTML:
/vendor/magento/module-checkout/view/frontend/web/template/shipping-address/shipping-method-list.html

Já o CSS/LESS pode ser encontrado em:
/vendor/magento/theme-frontend-luma/Magento_Checkout/web/css/source/module/checkout/_shipping.less
No theme-frontend-blank temos um arquivo igual.

Na tela de carrinho de compras, o PHTML responsável:
/vendor/magento/module-multishipping/view/frontend/templates/checkout/shipping.phtml

O módulo você encontra com o nome de:
/vendor/magento/module-offline-shipping
Que oferece um conjunto de opções para calcular o frete localmente (sem consultas externas), como por exemplo, o próprio frete fixo, o frete grátis, ou a tabela de fretes (table rate).
Veja: /vendor/magento/module-offline-shipping/Model/Carrier/Flatrate.php

Para saber mais sobre Frete Fixo…

Essa funcionalidade tão “simples” nos mostra o quanto a ferramenta pode ser poderosa e complexa. Por isso recomendo alguns cursos para aprofundamento de seus estudos:

Aprenda a gerenciar a plataforma: Como usar, gerenciar e administrar uma loja M2.
Transforme-se em um desenvolvedor M2: Magento 2 O Curso.
Para entender melhor como o M2 usa javascript: RequireJS e fundamentos Javascript para M2.

Sucesso!