Child pages
  • [in-commerce] Provide order object to the shipping quote engine
Skip to end of metadata
Go to start of metadata

When requesting shipping rates from shipping quote engines, like FedEx and UPS it can result with an error. Currently such error is written into sqe_error session variable. When processing orders in batches this will make each order to overwrite error, that happened during previous order processing.

Solution

Store errors into sqe_errors array, where key is OrderID. To implement this the Shipping Quoting Engine needs to be aware of the OrderID for which shipping rates are being retrieved.

Technical details:

  1. when calling ShippingQuoteCollector::GetShippingQuotes method we need to provide order object instance in order parameter
  2. when creating shipping rate caching key we should remove order parameter from there, because serializing it will only result in rate cache being order, not address-specific thus making it useless

Related Tasks