Aplicar desconto ao custo de envio

16

Quero aplicar desconto na taxa de envio. Por exemplo, se o subtotal do carrinho for superior a US $ 125, haverá um desconto de US $ 17 no custo de envio. Criei uma regra de carrinho de remessa no administrador, mas a regra é aplicada ao subtotal do carrinho, não ao custo de remessa. Selecionei as opções "aplicar ao valor da remessa" como sim e "Interromper o processamento de regras adicionais" como não.

Alguém tem idéia de como eu posso fazer isso. Qualquer ajuda será realmente apreciada.

Desde já, obrigado.

pady
fonte
Eu acho que aplicar ao custo de transporte não está explicado corretamente. Eu também pensei que selecionar isso deveria aplicar o desconto ao custo de remessa, mas aparentemente significa que ele aplicaria o desconto "também" ao custo de remessa.

Respostas:

7

Fizemos isso recentemente com uma espécie de uso hackiano do painel de administração da regra de vendas.

Na sua regra, em 'ações', no painel 'Aplicar a regra apenas aos itens do carrinho que correspondem às seguintes condições', crie uma condição que nunca pode realmente ocorrer. Usamos sku == 'inválido'. Desde que você tenha selecionado 'Aplicar ao valor do frete', o desconto será cobrado apenas pelos custos de envio. Porém, ele não corresponde a nenhum item do carrinho.

Laura
fonte
Observe uma coisa: funciona apenas se o usuário estima a remessa na página do carrinho (basicamente, você precisa de um método de remessa na cotação ao aplicar o código do cupom; tínhamos a configuração do carrinho para aplicar automaticamente o método de remessa mais barato automaticamente, por isso funcionou para nós).
Laura
Trabalho confirmado em 1.9 :)
puntable
2

Na minha opinião, isso é um erro no cálculo principal que ignora a Apply to Shipping Pricesinalização ao processar o desconto e a aplica ao produto, substituindo o que foi feito processShippingAmount.

http://www.magentocommerce.com/bug-tracking/issue/index/id/250

Se você modificar app/code/core/Mage/SalesRule/Model/Validator.phpa processfunção próxima à parte superior do foreachloop, adicione

if ($rule->getApplyToShipping()) {
    continue;
}

Isso impedirá que o processmétodo tente aplicar as regras do carrinho de compras com Apply to Shipping Pricedefinido como Yes.

Vizjerai
fonte
0

Estamos usando a extensão Regras de Remessa para fazer o que parece que você está tentando realizar. Usamos essa extensão para criar regras para aplicar um desconto ao total da remessa com base no subtotal do carrinho. Talvez seja exatamente isso que você precisa.

dberg
fonte
-1

Você pode ir para o painel de administração do Magento. Primeiro passo: Promoções. Segundo passo: regra de preço do carrinho de compras. Em seguida, vá para Condições na barra do lado esquerdo. são verdadeiras.

Wajid Hussain
fonte