Support » Plugin: QR Code PicPay for WooCommerce » Não reduz estoque após o pedido

  • Resolved viniciusalves

    (@viniciusalves)


    Primeiramente gostaria de agradecer pelo Plugin. O PicPay tem crescido muito e aqui em Vitória é muito utilizado, ou seja, tem grande potencial de atender os clientes nas vendas da loja virtual.

    O problema que notei é que ao realizar um pedido escolhendo o meio de pagamento PicPay, o estoque do item pedido não é reduzido.

    Não testei realizar o pagamento para saber se após o pagamento, o estoque é reduzido, mas de qualquer forma, o ideal é que fosse reduzido automaticamente assim que o cliente fizer o pedido, para não termos quebras de estoque. Caso o pedido seja cancelado, o item também deveria retornar ao estoque.

    É só aqui que está dessa forma, ou é o padrão do plugin mesmo? Tem alguma previsão de modificar?

Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Author Deividson Damasio

    (@dadeke)

    Olá @viniciusalves

    O estoque do produto é reduzido automaticamente somente após a confirmação do pagamento pela PicPay.

    Caso o pedido seja cancelado via Admin no WooCommerce ou via Painel do Lojista – PicPay o reembolso dos valores pagos pelo cliente será efetivado e o estoque do produto será retornado automaticamente.

    Geralmente os plugins de gateway de pagamento para WooCommerce também funcionam dessa mesma maneira.

    Obrigado pelo retorno, Deividson.

    Acho que por enquanto terei que seguir sem essa integração, mas parabéns pelo trabalho.

    A redução do estoque no momento que o pedido é gerado é realmente fundamental para mim. Se um cliente picpay faz um pedido de uma peça única em estoque, outro cliente não_picpay compra via cartão e depois disso o cliente picpay paga o pedido, a dor de cabeça seria alta demais.

    Seguirei acompanhando as atualizações do plugin. O Picpay realmente deveria te colocar na equipe interna deles, esse plugin tem potencial demais!

    Plugin Author Deividson Damasio

    (@dadeke)

    @viniciusalves obrigado pelo elogio.

    A regra de negócio de reduzir a quantidade em estoque apenas após o pagamento ter sido confirmado pelo gateway não é uma ideia minha. Ela é um padrão sugerido pelo próprio WooCommerce.
    https://docs.woocommerce.com/document/managing-orders/#section-1

    Mas existem várias soluções para resolver esse problema. Vou citar aqui a mais simples:
    É possível configurar em WooCommerce > Configurações > Produtos > Inventário um limite de tempo em minutos para que o pagamento do pedido seja efetuado.
    Quando esse limite for atingido, o pedido pendente será cancelado.

    Outra possibilidade é que você pode personalizar qualquer plugin do WordPress modificando o código fonte para atender as suas necessidades. Mas nesse caso é preciso tomar muito cuidado com as atualizações automáticas a fim de que elas não sobrescrevam as modificações que foram realizadas. Também a responsabilidade de manter o código fonte de qualquer plugin personalizado passa a ser sua.

    Obrigado pela ajuda Deividson.

    A primeira solução não seria viável, pois implicaria no cancelamento de vendas do boleto, antes da hora (caso eu colocasse um tempo de alguns minutos, por exemplo). A segunda ta fora das minhas capacidades hehe.

    Me parece que você adota o status “Pending payment”, indicado no link que informou acima. Acredito que outros plugins de pagamento estejam utilizando mais o “On hold” (Awaiting payment – stock is reduced, but you need to confirm payment), para não gerar esses problemas de estoque.

    Obrigado pela atenção!

    Plugin Author Deividson Damasio

    (@dadeke)

    @viniciusalves

    Sim esse plugin pode ser personalizado para utilizar o “On hold” e reduzir o estoque. Também será preciso remover a função de redução de estoque do “Processing” para que não seja reduzido duas vezes.
    Qualquer desenvolvedor PHP pode fazer essas modificações nessas linhas:
    https://github.com/dadeke/woo-picpay/blob/8f17243076d31bec19451a76f1b920124994f415/includes/class-wc-picpay-gateway.php#L194
    https://github.com/dadeke/woo-picpay/blob/8f17243076d31bec19451a76f1b920124994f415/includes/class-wc-picpay-gateway.php#L300

    Mas aí surge um outro problema complexo de resolver: Caso o cliente não efetue o pagamento, quando é que o pedido será cancelado e o produto será retornado ao estoque?

    Corre o risco da loja avisar que o produto está sem estoque perdendo a venda para outro cliente.

    Prefiro deixar essa responsabilidade para o próprio WooCommerce ou para outros desenvolvedores.

    Opa, vou estudar a possibilidade de fazer a alteração aqui. Obrigado por indicar o caminho das pedras.

    Quanto ao “novo problema”: fica a cargo do lojista informar aos clientes que eles tem um prazo de X dias/horas para realizar o pagamento do pedido, ou terá o pedido cancelado. Seguindo o mesmo esquema de boletos, inclusive para estratégias de “recuperação de boleto” (enviar e-mail, sms, zap, telefonar… ações que levem o camarada que fez o pedido e não, pagar).

    No mundo ideal, o próprio PicPay poderia deixar o lojista informar um prazo máximo para pagamento de um pedido, mas ai o buraco já é mais embaixo.

    Agradeço a atenção. Abraços.

    Ei Deividson, bom dia!

    Vi que teve umas atualizações no plugin, e uma delas me chamou atenção:

    “Fix. Reduce stock only from “Pending payment” to “Processing” status.”

    Por acaso tem relação ao que conversamos?

    Plugin Author Deividson Damasio

    (@dadeke)

    @viniciusalves

    É possível que tenha relação sim.

    Em algumas versões do WooCommerce o estoque não estava sendo reduzido quando o pedido era alterado do status Pagamento pendente para Processando.

    O incrível é que em versões mais recentes do WooCommerce, o estoque estava sendo reduzido normalmente mesmo com a existência desse problema.

    Agora isso foi corrigido.

Viewing 8 replies - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.