Pular para o conteúdo principal
Técnico

Validação de data de entrega no Shopify: bloqueie datas ausentes, fechadas e lotadas no checkout

Jahangir AlamOctober 31, 2026Fatos verificados em October 31, 20266 min read

Um seletor de data de entrega mostra datas. A validação as impõe. No Shopify, validação é uma Cart and Checkout Validation Function: uma verificação que roda nos servidores do Shopify antes do pagamento e barra o pedido se a data estiver ausente, fechada ou lotada. Ela roda em todos os planos do Shopify e em todas as formas de chegar ao checkout, inclusive Shop Pay, Apple Pay e Comprar agora. Só um seletor exibido dentro da página de checkout exige o Plus.

Por que um seletor sozinho deixa passar datas inválidas

Um seletor na página do produto ou do carrinho é só uma exibição. Ele deixa em cinza as datas fechadas e lotadas no navegador do cliente, e nada além disso. Os pedidos ainda passam sem uma data válida quando:

  • O cliente usa um botão expresso. Comprar agora, Shop Pay, Apple Pay e Google Pay na página do produto vão direto ao checkout, então o seletor do carrinho nunca roda. Veja Comprar agora pula a data de entrega.
  • A data lotou enquanto ele pagava. O seletor mostrava "1 restante" quando a página carregou. Outra pessoa levou a vaga.
  • O carrinho é de ontem. Ele escolheu uma data, voltou depois do corte e finalizou a compra.
  • O carrinho lateral não mostra o seletor, ou o tema mudou e o bloco do seletor foi removido.
  • Alguém edita a data de entrega do carrinho à mão ou com um script.

A opção gratuita do próprio Shopify, um seletor de data adicionado à página do carrinho com código do tema, tem a mesma lacuna: ela coleta uma data, mas nada a verifica no checkout.

As verificações que a validação de data de entrega deve fazer

Estas são as verificações que o OrderRules faz no checkout, com a mensagem que o cliente vê por padrão:

VerificaçãoO que ela pegaMensagem padrão
Data obrigatóriaNenhuma data, muitas vezes por Comprar agora ou Shop PayEscolha uma data de entrega antes de finalizar a compra.
Data permitidaDatas passadas, dentro do prazo mínimo ou após o corte, em um dia da semana em que você não entrega, além do seu horizonte de reservasEssa data de entrega não está mais disponível. Escolha outra.
Data fechadaUma data bloqueada, como um feriadoNão realizamos entregas na data selecionada. Escolha outra.
Dia lotadoA data atingiu o seu máximo de pedidos por data de entregaA entrega em {date} está esgotada. Escolha outra data.
Faixa de horárioNenhuma faixa escolhida, ou a faixa está lotadaEscolha um horário de entrega. / Esse horário de entrega está esgotado. Escolha outro.
Limite de produto por dataMais unidades de um produto do que restam para aquela dataOnly {n} left for delivery on {date}. Please reduce the quantity or choose another date.
MétodoItens só de retirada e só de entrega misturados, ou o método erradoAlguns itens no seu carrinho exigem métodos de processamento diferentes e não podem ser comprados juntos.
RetiradaSem data, local ou horário de retirada; um dia ou faixa de retirada fechado ou lotadoEscolha uma data de retirada antes de finalizar a compra. (e mais cinco)

Se a verificação de um app no checkout cobre só a primeira linha, ela barra pedidos sem data, mas não os que excedem a capacidade.

Três formas de ter validação no Shopify

1. Crie sua própria Function de validação. Um desenvolvedor escreve uma Cart and Checkout Validation Function que lê a data de entrega do carrinho e retorna um erro se ela não for permitida. Ela roda em todos os planos. Uma Function não consegue consultar um banco de dados enquanto roda, então as suas datas permitidas e as contagens de reservas precisam ser gravadas antes em um metafield e mantidas atualizadas. Esse é o grosso do trabalho. As Functions de validação do Shopify explicadas cobrem a mecânica.

2. Use um app de seletor de data com validação no checkout. Faça cinco perguntas antes de instalar:

  1. Ele usa uma Cart and Checkout Validation Function ou só JavaScript do tema?
  2. Ele barra pedidos de Comprar agora, Shop Pay e Apple Pay sem data?
  3. Em quais planos do Shopify a verificação roda?
  4. Ele reconfere datas e faixas lotadas no checkout ou só as esconde no seletor?
  5. Você pode editar as mensagens em todos os idiomas em que vende?

Nossa comparação de apps de seletor de data de entrega marca quais apps impõem a data no checkout e quais só a exibem.

3. No Shopify Plus, coloque o seletor dentro do checkout. Uma extensão de UI de checkout mostra o calendário na página de checkout, então quem usa pagamento expresso também o vê. Ainda é só uma exibição: combine-a com uma Function de validação, ou uma data pode ser pulada ou ficar desatualizada.

Configure no OrderRules

  1. No plano Advanced, abra sua regra de disponibilidade e ative Exigir uma data de entrega no checkout (e Exigir uma faixa de horário se você usa faixas).
  2. No Shopify, abra Configurações → Checkout, role até Regras de checkout e confira se a regra do OrderRules está ligada.
  3. Defina o que a validação verifica: Máximo de pedidos por data de entrega, Limite/dia em cada faixa de horário, limites de produto contados por Data de entrega e datas bloqueadas.
  4. Em Mensagens do checkout, edite qualquer mensagem ou aplique um pacote de idiomas.
  5. Teste sem data, com uma data fechada e com uma data lotada, pelo carrinho, por Comprar agora e pelo Shop Pay. Uma loja de desenvolvimento é o lugar mais seguro para testar primeiro.

O que a validação não pega

  • Dois checkouts no mesmo segundo para a última vaga podem passar os dois. A validação lê o que está reservado; ela não mantém um bloqueio.
  • Logo após um corte, uma data pode passar no checkout por um curto período até o app atualizar a lista de datas permitidas. O seletor na página tira a data imediatamente.
  • Pedidos que pulam o checkout não são verificados: Shopify POS, renovações de assinatura, pedidos criados no admin e marcados como pagos, e pedidos de outros apps ou da Admin API. Eles ainda contam para os seus limites.
  • Edições após a compra. Alterar a data de um pedido no admin do Shopify não é verificado e não move a vaga dele.
  • CEPs e zonas. O OrderRules não confere o endereço. Para parar de entregar em uma área, deixe-a de fora das suas zonas de envio do Shopify.

Mais em compatibilidade e limitações conhecidas.

Relacionados

Perguntas frequentes

Sim. A validação roda em uma Shopify Cart and Checkout Validation Function, que apps públicos podem usar em todos os planos, inclusive o Basic. Só um seletor de data exibido dentro da própria página de checkout exige Shopify Plus.

Sim. Esses botões pulam o carrinho, então um seletor na página do carrinho nunca os vê, mas a Function de validação roda em todo checkout. Se a data estiver ausente, fechada ou lotada, o cliente é barrado antes de pagar.

Não, quando a validação está ligada. A data é conferida com o seu prazo mínimo, o horário de corte, os dias da semana de entrega, o horizonte de reservas e as datas bloqueadas. Uma exceção: por um curto período logo após um corte, uma data pode passar até o app atualizar a lista de datas permitidas.

Uma mensagem no checkout, como Escolha uma data de entrega antes de finalizar a compra ou A entrega em 2026-12-23 está esgotada. Escolha outra data. No OrderRules você pode editar todas as mensagens ou aplicar um pacote de idiomas.

Quase sempre. A validação lê o que já está reservado em vez de manter um bloqueio, então dois checkouts concluídos no mesmo segundo para a última vaga podem passar os dois. Trate os limites como confiáveis, não como uma garantia.

Não. A verificação no checkout roda em todos os planos. O Plus só acrescenta a opção de exibir o seletor de data dentro da página de checkout; sem o Plus, o seletor fica na página do produto ou do carrinho e o checkout continua verificando a data.

Comparando apps?

Veja como o OrderRules se sai contra todos os outros apps do Shopify nesta categoria.

Pronto para assumir o controle dos seus pedidos?

Experimente o OrderRules grátis