С помощью модуля commerce API вы можете получить все доступные способы доставки заказа с помощью запроса GET на {{host}}/jsonapi/checkout/{{cart_uuid}}/shipping-methods. Результат примерно такой:
    {
        "тип": "вариант доставки",
        "id": "3 -- по умолчанию",
        "атрибуты": {
            "shipping_method_id": "3",
            "оказание услуг": {
                "идентификатор": "по умолчанию",
                "label": "Самовывоз"
            },
            "исходная_сумма": {
                "число": "0",
                "currency_code": "CZK",
                "отформатировано": "0,00 KÄ"
            },
            "количество": {
                "число": "0",
                "currency_code": "CZK",
                "отформатировано": "0,00 KÄ"
            },
            "описание": "",
            "дата_доставки": ноль
        }
    },
Я хотел бы добавить настраиваемое поле для каждого способа доставки.
Следующий это учебник, я попытался создать вычисляемое поле, например:
функция custom_module_entity_base_field_info (EntityTypeInterface $entity_type) {
  if ($entity_type->id() === 'commerce_shipment') { // также попробовал 'shipping_rate_option'
    $fields['tooltip'] = BaseFieldDefinition::create('строка')
      ->setLabel(t('подсказка'))
      -> установить только для чтения (ИСТИНА)
      ->setComputed(ИСТИНА)
      ->setClass(FieldTooltip::class);
    вернуть $поля;
  }
}
И мой класс
/**
 * Класс FieldTooltip.
 */
класс FieldTooltip расширяет FieldItemList {
  использовать ComputedItemListTrait;
  /**
   * {@inheritdoc}
   */
  защищенная функция calculateValue() {
    $this->list[0] = $this->createItem(0, 'текст всплывающей подсказки');
  }
}
Это ничего не сделало.
Также пытался создать нормализатор, но это тоже ничего не изменило.
Есть ли способ добавить поле в этот ответ?