O plugin não consegue finalizar uma compra com um produto variável que não seja uma assinatura. Ao tentar finalizar a compra ele da um erro: 'Não foi possível criar o pedido' e a compra não é registrada na Vindi.
Olhando os logs, podemos conferir que o plugin não está enviando o ID Vindi do produto na requisição. Mesmo que o produto esteja devidamente cadastrado e vinculado com a Vindi.
Isso acontece pois no plugin não há uma verificação se o produto é variável, e busca o registro do ID Vindi a partir do produto e não de suas variações.
O problema ocorre neste trecho da função _build_product_from_orderitem, presente no arquivo PaymentProcessor.php:
if ('bill' === $order_type) {
foreach ($order_items as $key => $order_item) {
$product = $order_item->get_product();
// Deveria haver uma verificação aqui, se o produto é variável e qual variação está sendo usada
$order_items[$key]['type'] = 'product';
$order_items[$key]['vindi_id'] = $this->routes->findProductByCode('WC-' . $product->get_id())['id'];
$order_items[$key]['price'] = (float) $order_items[$key]['subtotal'] / $order_items[$key]['qty'];
}
return $order_items;
}
O plugin não consegue finalizar uma compra com um produto variável que não seja uma assinatura. Ao tentar finalizar a compra ele da um erro: 'Não foi possível criar o pedido' e a compra não é registrada na Vindi.
Olhando os logs, podemos conferir que o plugin não está enviando o ID Vindi do produto na requisição. Mesmo que o produto esteja devidamente cadastrado e vinculado com a Vindi.
Isso acontece pois no plugin não há uma verificação se o produto é variável, e busca o registro do ID Vindi a partir do produto e não de suas variações.
O problema ocorre neste trecho da função _build_product_from_orderitem, presente no arquivo PaymentProcessor.php:
psc @lucastgama