Na função build_product_from_order_item do arquivo PaymentProcessor.php, foram introduzidas duas novas condições. Uma delas valida se o item é um produto variável; nesse caso, o produto variável receberá o ID do produto "pai", pois o sistema da Vindi registra apenas um produto variável como pai. Além disso, foi implementada uma condição para reduzir o uso de rotas, garantindo que o ID do produto da Vindi seja buscado no banco de dados em vez de pela rota findProductByCode. Caso o ID não seja encontrado no banco de dados, a rota é utilizada, otimizando assim o tempo de requisições quando não necessárias.
Motivação
O cliente notificou que ao realizar compras com produtos variáveis, o sistema não estava identificando corretamente o ID do produto na Vindi, resultando em uma mensagem de erro que impedia a conclusão do pedido.
Solução proposta
Para resolver esse problema, foi necessário modificar o ID do produto enviado pela rota, verificando que o mesmo ID já estava registrado no banco de dados do WordPress. Dessa forma, não era mais necessário utilizar a rota para validação. No entanto, por questões de segurança, foi implementada uma validação para verificar se esse ID está registrado no banco de dados. Caso não esteja, a rota da Vindi é utilizada para essa finalidade.
Como testar
Adicione um item ao carrinho que seja um produto variável.
Finalize a compra e verifique se uma mensagem de erro é exibida.
Acesse o portal da Vindi e verifique se a fatura avulsa foi registrada com o produto desejado.
O que mudou
Na função
build_product_from_order_item
do arquivoPaymentProcessor.php
, foram introduzidas duas novas condições. Uma delas valida se o item é um produto variável; nesse caso, o produto variável receberá o ID do produto "pai", pois o sistema da Vindi registra apenas um produto variável como pai. Além disso, foi implementada uma condição para reduzir o uso de rotas, garantindo que o ID do produto da Vindi seja buscado no banco de dados em vez de pela rotafindProductByCode
. Caso o ID não seja encontrado no banco de dados, a rota é utilizada, otimizando assim o tempo de requisições quando não necessárias.Motivação
O cliente notificou que ao realizar compras com produtos variáveis, o sistema não estava identificando corretamente o ID do produto na Vindi, resultando em uma mensagem de erro que impedia a conclusão do pedido.
Solução proposta
Para resolver esse problema, foi necessário modificar o ID do produto enviado pela rota, verificando que o mesmo ID já estava registrado no banco de dados do WordPress. Dessa forma, não era mais necessário utilizar a rota para validação. No entanto, por questões de segurança, foi implementada uma validação para verificar se esse ID está registrado no banco de dados. Caso não esteja, a rota da Vindi é utilizada para essa finalidade.
Como testar