Realizei uma requisição através do backend para alterar o preço de um item no carrinho. Ao atualizar a página manualmente, através de um F5 o preço é aplicado no minicart.
Entretanto, esperava que o minicart atualizasse automaticamente esse valor ao atualizar o valor pelo backend.
Testei destas duas formas, porém, não recebi o valor atualizado no minicart sem atualizar manualmente a página.
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json', Accept: 'application/json'},
body: JSON.stringify({orderItems: [{quantity: 1, seller: '1', id: '196', index: 0, price: 199}]})
};
fetch('/api/checkout/pub/orderForm/82ee36a97cab4db481aa4b68219d9ccb/items?allowedOutdatedData=paymentData', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
AddToCart
let raw = JSON.stringify({ "price": 199 });
let requestOptions = { method: 'PUT', body: raw };
fetch("/api/checkout/pub/orderForm/82ee36a97cab4db481aa4b68219d9ccb/items/0/price", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
ChangePrice
Tentamos atualizar via setManualPrice do OrderItems, fornecendo o price
e o itemIndex
mas novamente não foi possível atualizar o valor no minicart. Apesar de várias tentativas de fornecer as props o resultado era sempre undefined
, sem refletir no minicart.