Conheci algumas pessoas que precisam que o estoque do WooCommerce seja reduzido durante o checkout e não apenas depois que a compra é confirmada pelo gateway de pagamento (como acontece com o retorno automático do PagSeguro, Bcash, MoIP e MercadoPago).
Particularmente acredito que a melhor solução é bater o estoque com o retorno automático. Caso o produto acabe antes da confirmação do pagamento é possível entrar em contato com o cliente para negociar uma data ou devolver o dinheiro.
Entretanto para você que acredita que o melhor é bater durante a compra aqui vai uma solução:
Isso vai fechar o pedido como processando e reduzir o estoque.
Com certeza vai gerar problemas também caso o cliente resolva desistir da compra… Lhe obrigando a repor o estoque manualmente.
Não existe solução perfeita além de tentar manter um número adequado de produtos em estoque e também saber negociar com o cliente.
Boa implementação. =)
E se fosse para retornar processando apenas e não aguardando? pois assim o adm receberia um email do pedido e o cliente tbm; para uma posterior redução do estoque. XD
Ab. Att
Até daria para mandar reduzir o estoque.
Entretanto quando recebesse o sinal de algum plugin com retorno automático o estoque seria reduzido duas vezes…
E ai não teria mais vantagem em fazer isso.
Claudio, blz?
Na verdade estava pensando em fechar o pedido como processando apenas;
Pois atualmente o plugin fecha como aguardando e não é enviado e-mail para o cliente sobre o pedido.
tipo isso…
Abraço…
Bom depende do plugin de método de pagamento que você esta usando.
Isso que eu mostrei no post é apenas o padrão do WooCommerce.
É o do pagseguro aqui do site sô. rs
Ele fecha como “Processando” e não como “Aguardando”.
Hoje até fiz uma atualização nele que quando o PagSeguro envia sinal de que a compra foi Aprovada ele já coloca como “Processando”.
Antes isso acontecia quando o PagSeguro envia sinal de Concluído.
Fala Claudio, estou virando teu fã! Já utilizo alguns plugins feitos por você, e tive uma nova necessidade. Vou começar a utilizar o Woocommerce apenas para gerenciamento de estoque em um projeto. Tive este pequeno inconveniente de ter que ficar dando baixas manualmente. Com o teu snippet, tudo se resolveu tranquilamente. Assim eu consigo deixar alguém para fazer o lançamento do que saiu e o sistema automaticamente já da baixa. Ótimo recurso! Só me tira uma dúvida: No final do código falta um “?>” ou é sem fechar o php mesmo? Coloquei o sinal aqui e funcionou tranquilamente (não testei sem).
Um mega abraço e muito obrigado mais uma vez por este simples recurso, mas EXTREMAMENTE funcional.
Quando é no final do arquivo não tem necessidade de fechar. Pode conferir arquivos como o wp-config.php do seu site e outros do WordPress, você vai ver que não esta fechando xD.
Isso evita problemas, ainda mais sendo feito no
functions.php.Acontece que o
functions.phproda antes do que qualquer outro arquivo do tema. Se você feche o?>pode acontecer problemas se deixar espaços em branco ou quebras de linhas.No caso o melhor é não fechar o ?> e deixar uma linha vazia no final. Desta forma nunca vai dar problema.
Olá! Encontrei esta página e estou tão contente por estar perto de encotnrar uma solução para este grande problema! Mas como não percebo nada de programação, pode indicar em que página é que eu copia este código?
Muito muito obrigada!
Precisa colocar no
functions.php…Oi Claudio, estava procurando isso a muito tempo. Meu problema é que eu tenho muitos produtos, porém com estoque limitado, geralmente 1 de cada. Só que tenho muitas compras por dia. Dua ou três pessoas compram o mesmo produto e pagam por boleto, por exemplo, quando o pagamento é compensado, aí o estoque é reduzido, porém, quando a segunda ou terceira pessoa também paga, o produto já não está mais disponível.
Pegunta 1: Se eu pedir para baixa o estoque quando o pedido estiver “pendente”, assim que o pagamento for compensado ele vai baixar novamente quando mudar para “processando”?
Pergunta 2: Digamos que a politica da loja seja cancelar pedidos pendentes há mais de 5 dias, quando eu mudar de “pendente”para “cancelado” ele restaura o estoque, ou tenho que mudar manualmente?
Excelente trabalho, abs
Não vai baixar de novo porque no caso ele já vai completar e deixar como processando já… Vai ter que aguardar ainda o pagamento e enviar para poder alterar o status para concluído.
Caso o cliente não pague você deve arrumar o estoque manualmente e colocar como cancelada a compra dele.