Как передать данные с фронта в метод доставки в Magento 2?
Наглухо застрял с одной задачей, связанной с кастомным методом доставки в магазине на Magento 2. Потратил уже неприлично много времени на поиски решения, но воз и ныне там.
Итак, есть кастомный метод доставки. В корзине реализован выбор точки самовывоза при помощи виджета, представленного службой доставки. Виджет возвращает разные данные, зависящие от выбранной точки: ее адрес, стоимость доставки в зависимости от веса посылки и пр. Эти данные я добавляю в объект quote.pickpoint при помощи observable. И вот тут сама задача: передать полученные данные в способ доставки, чтобы выбрать оттуда необходимые данные, установить стоимость доставки. Способ доставки получает данные в виде Magento\Quote\Model\Quote\Address\RateRequest. Вопрос: как добавить мои кастомные данные в данный объект?
Сначала я пошел по пути формирования extension attributes для Magento\Checkout\Api\Data\ShippingInformationInterface. И у меня получилось передать данные, НО. JS функция getRates отрабатывает раньше чем saveShippingInformation. И получается, что методы доставки возвращаются с пустым значением, и нормальная стоимость доставки оказывается только в Totals, соотвественно, стоимость доставки не попадает в результирующий объект Order.
Подскажите плиз, какой из интерфейсов нужно расширить аттрибутами, чтобы это заработало. Или мой подход в корне неправильный, и все это делается иначе?