"Refresh" existing cart totals if shipping prices or taxes changes

4 0 2

I currently have a completely custom shopping & checkout process using the storefront api / admin api. 

One issue I keep running into from time to time and can't find an answer is the following scenario:

  • Customer comes to the site and build a cart.
  • Shipping prices change.
  • Customer returns to the site to complete the purchase.

In this scenario the shipping cost in the customer cart does not change when I get the checkout object via the GraphQL call, even if I wanted to "refresh" the cart, there seems to be no way to do that? There must be a way as when the same happens on the shopify managed store it does refresh the prices and updates the cart, but I had a look at the network traffic calls and there are no JS calls besides the ones documented and the prices already load correctly so it seems to happen within the backend/liquid files. 

Has anyone run into this issue? Any suggestions on how to get around the problem?

So far, the only possible solution I see is to load the shopify cart url on an invisible iframe and once that loads check if the cart totals are different, and if so, force the customer to restart the checkout, but I really don't want to go down this path, as it's a terrible solution.

If there is no current solution to this problem, I would suggest to shopify that in this situation checkout.ready should be False, and I could at least force the customer to restart the checkout process by "rebuilding" with the line items and let the customer enter shipping information, etc. 

P.S: The same issue happens if you change any of the Taxes in your store. It does not reflect on any existing carts and the same issue happens.  


Replies 0 (0)