Os problemas mais comuns no Frete para Marketplace e como resolver. Antes de tudo, ative o modo debug (guia) — a maioria dos diagnósticos sai de uma olhada no log.
Frete não está dividindo por vendedor
Sintoma: no checkout aparece um único método de envio pro carrinho inteiro, mesmo com produtos de vendedores diferentes.
Causas possíveis:
1. Plugin de marketplace não detectado
O plugin precisa de um marketplace ativo (Dokan, YITH, WC Vendors, WCFM ou WC Marketplace). Confira em Plugins → Plugins instalados se o seu marketplace está ativo.
Se você usa um marketplace customizado (sem nenhum desses ativos), o plugin entra em modo padrão e não preenche os vendedores automaticamente — você precisa ligar via filtro PHP wcsp_vendor_postcode. Veja Filtro wcsp_vendor_postcode.
2. Produtos sem vendedor atribuído
Confira no painel do produto se ele está vinculado a um vendedor. No log, a linha Vendedores no carrinho: deve listar pelo menos um ID. Se aparece vazio, nenhum vendedor foi detectado pra nenhum produto.
3. Conflito com outro plugin
Plugins de envio podem se sobrescrever. Se o conflito é com um hook específico que outro plugin adiciona, o helper remove_class_hook() ajuda.
Custo de frete está incorreto
Sintoma: o split funciona, mas os valores não correspondem ao que era esperado.
1. CEP do vendedor incorreto ou vazio
Confira no log se a linha Correios: Dados de vendedor encontrados: aparece com o CEP correto. Se aparece vazio, o cadastro do vendedor está incompleto. Veja CEP de origem por vendedor.
2. Endereço de destino incompleto
Pra Correios funcionar, o cliente precisa ter um CEP de destino preenchido. Confira no checkout se o cliente preencheu o CEP antes de calcular.
3. Modalidade dos Correios mal configurada
O plugin Correios WooCommerce tem várias modalidades (PAC, SEDEX, etc.) com pesos e dimensões padrão. Se o produto não tem peso/dimensões cadastrados, o Correios pode devolver erro ou valor estranho.
Frete grátis não está sendo aplicado
Sintoma: carrinho com Frete Grátis configurado e o cliente não vê a opção.
1. Cada pacote tem que bater o mínimo separadamente
Lembre-se: o Frete Grátis é avaliado por pacote, não pelo total do carrinho. Se a regra é mínimo R$ 100 e o vendedor B tem só R$ 50 no pacote, ele não recebe Frete Grátis. Veja Frete grátis por pacote.
2. Cupom restrito a produtos específicos
Se a regra exige cupom e o cupom só vale pra produtos da categoria X, o vendedor que não tem produto dessa categoria no pacote não ganha o Frete Grátis daquele cupom.
3. Configuração da Zona de envio
Confira se a Zona de envio do cliente (definida pelo CEP de destino) tem Frete Grátis cadastrado. Sem isso, nem com pacote dividido o método aparece.
Métodos de envio do vendedor não aparecem (WCFM)
Sintoma: vendedor configurou métodos de envio próprios no WCFM, mas no checkout só aparecem os métodos da loja matriz.
Causa: comportamento padrão do plugin — ele desativa os métodos do vendedor pra usar só os da loja, calculados a partir do CEP do vendedor.
Como mostrar os dois: ative a opção Envios por vendedor em WooCommerce → Configurações → Entrega → Frete para marketplace. Veja Configuração específica do WCFM.
Erro "fatal" / página em branco no checkout
Sintoma: checkout retorna erro 500 ou página em branco.
1. Conflito de hook com plugin terceiro
Outro plugin pode estar adicionando hooks no woocommerce_cart_shipping_packages em ordem incompatível. Olhe o log de erros do PHP em /wp-content/debug.log (com WP_DEBUG_LOG ativo) ou em wp-admin → Ferramentas → Health Check.
2. Cache de carrinho/sessão antigo
Em ambientes com cache agressivo (Object Cache, page cache no checkout), valores antigos do carrinho podem conflitar com a nova estrutura dos pacotes. Limpe o cache e teste de novo.
3. Produto sem peso/dimensão pra método que exige
Se o método de envio (Correios, Melhor Envio) exige peso obrigatório e algum produto não tem, o cálculo pode dar erro fatal. Confira em Produtos → Inventário que os produtos têm peso preenchido.
Pedido fica sem associação ao vendedor
Sintoma: o pedido foi criado mas o vendedor não recebe a notificação de venda no painel dele.
Em Dokan: o plugin grava o seller_id em cada taxa de envio do pacote correspondente — isso liga o pacote ao vendedor pro Dokan distribuir corretamente. Se isso falha, geralmente é conflito com outro plugin que sobrescreve as taxas de envio. Olhe o log.
Outros marketplaces: cada um tem seu próprio fluxo de associação pedido-vendedor. O plugin garante apenas a estrutura wcsp_vendor_id no pacote — a associação pedido-vendedor depois é responsabilidade do marketplace.
Continua sem resolver?
- Pegue o log do modo debug com a operação que falhou.
- Verifique a versão do WooCommerce, do plugin de marketplace e do Frete para Marketplace.
- Abra um ticket de suporte com essas informações em mãos.