“ID de endereço de cliente inválido” vem aleatoriamente para os clientes no checkout – Magento 2

Correções para o Erro/Bug

[2019-08-09 02:44:33] main.CRITICAL: Invalid customer address id XXXXXX {"exception":"[object] (Magento\\Framework\\Exception\\NoSuchEntityException(code: 0): Invalid customer address id 313116 at /vendor/magento/module-quote/Model/QuoteAddressValidator.php:77)"} []

Correção desse problema será substituindo a função validateForCart do Magento.

/**
 * Validate address to be used for cart.
 *
 * @param CartInterface $cart
 * @param AddressInterface $address
 * @return void
 */
public function validateForCart(CartInterface $cart, AddressInterface $address)
{
    $this->doValidate($address, $cart->getCustomer()->getId() ? $cart->getCustomer()->getId() : null);
}

O problema é que o ID do cliente que passa na função é nulo para os clientes que enfrentam esse problema.

Solução:

public function validateForCart(CartInterface $cart, AddressInterface $address): void
{
    $this->doValidate($address, $cart->getCustomer()->getId() ?: null);
}

Dúvidas? Faça um comentário logo abaixo ou envie uma mensagem clicando aqui.

O seu endereço de e-mail não será publicado.