-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
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_order_item, 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;
}psc @lucastgama
Metadata
Metadata
Assignees
Labels
No labels