LinkNacional / integration-rede-for-woocommerce

Integração do método de pagamento Rede para WooCommerce
https://wordpress.org/plugins/integration-rede-for-woocommerce/
GNU General Public License v2.0
11 stars 6 forks source link

Mover pedido para "Completed" depois da captura #18

Closed netomarchiori closed 5 months ago

netomarchiori commented 3 years ago

Olá Marcos, tudo bem?

Configurei o plugin para captura automática e estou rodando no sandbox da Rede.

Mesmo recebendo "success" e código de retorno 00, o pedido somente é movido para "Processando" este é o comportamento esperado? se a captura já foi feita e retornou sucesso, o plugin já não deveria mover o pedido para o status "completed"?

marcos-alexandre82 commented 3 years ago

Sim, é o comportamento esperado. O status "Processando" significa que o pedido já foi pago e está sendo processado (separado, embalado, enviado) pela loja. "Completo" ou "Concluído" é um status manual, que deve ser marcado após o recebimento do produto pelo cliente.

Se quiser saber mais sobre os status dos pedidos, dá uma olhada neste link:

https://docs.woocommerce.com/document/como-gerenciar-pedidos/

😉

netomarchiori commented 3 years ago

sim, faz total sentido. falei groselha...

no meu caso estou trabalhando com produtos variaveis (ingressos), preciso do status "completed" para liberar os ingressos

vou ver para criar uma fork para permitir escolher qual status mover o pedido uma vez que está aprovado com sucesso.

valeu!

marcos-alexandre82 commented 3 years ago

Os ingressos são físicos ou virtuais? Se forem virtuais, o tipo do produto no WooCommerce precisa ser virtual, assim o cliente pode pagar e já ter acesso.

Dá uma olha nos tipos de produtos: https://docs.woocommerce.com/document/como-adicionar-e-gerenciar-produtos/

😉

netomarchiori commented 3 years ago

os ingressos são virtuais, só que tenho variações para um mesmo evento (ex pista, vip, camarote) para não criar 3 produtos, uso o produto variavel.

marcos-alexandre82 commented 3 years ago

E no tipo de variação, em cada uma delas está marcado como virtual?

https://docs.woocommerce.com/document/variable-product/#section-7

netomarchiori commented 3 years ago

estão sim

cod3pix commented 3 years ago

@netomarchiori uma opção ao invés de criar um fork é usar o filtro woocommerce_payment_complete_order_status. Existe ainda uma outra possibilidade que seria o filtro woocommerce_order_item_needs_processing, que roda produto a produto para checar se o pedido precisa ou não ser processado.

Reforçando a resposta do @marcos-alexandre82, se der uma olhada no método needs_processing() vai notar que se todos os produtos forem marcados como virtual o pedido é setado para "completed".

https://github.com/woocommerce/woocommerce/blob/ab529835fa0e52ea9848420cdbf4a63d738c6488/includes/class-wc-order.php