Задача и границы решения
Стоимость доставки зависит не только от города. Вес, размеры, состав заказа и выбранный пункт выдачи могут менять доступные варианты.
Как подойти к задаче
Возьмите один воспроизводимый заказ и проверьте исходные характеристики товаров. Сопоставьте запрос к перевозчику с ожидаемой упаковкой. Уточните, как сайт показывает таймаут, недоступный регион и отсутствие подходящего тарифа.
Что проверить на практике
Проверьте смену адреса после выбора тарифа, тяжёлый товар и смешанную корзину. Если расчёт не получен, интерфейс должен честно сообщать об этом, а не незаметно превращать доставку в бесплатную.
Какой ошибки избежать
Не записывайте временную ошибку сервиса как постоянный тариф. Отдельно храните результат расчёта и статус его актуальности. Критерий приёмки — согласованная сумма в корзине, заказе и данных отгрузки.
Пример для проверки на вашем проекте
В корзину добавлен товар без веса, и перевозчик получает нулевую массу отправления. Сам запрос выполняется успешно, но тариф не соответствует посылке. В этом случае настройка таймаутов не поможет. Сначала проверяют обязательные характеристики и правила упаковки. Для товара с отсутствующими параметрами нужен согласованный сценарий: ручной расчёт или запрет автоматического обещания стоимости.
Путь покупателя целиком
Работу начинаем с конкретного сценария: найти товар, выбрать вариант, положить в корзину и оформить заказ. Проверяем не только отдельный экран, но и передачу цены, количества, доставки и контактных данных между этапами. Согласуем гостевую покупку, авторизацию и особенности юридических лиц, если они входят в задачу.
Приёмка на понятных примерах
Готовим контрольную корзину и проверяем итоговую сумму, статус и состав заказа. Платёжные проверки выполняются в тестовом режиме доступного провайдера. Мобильная версия проходит тот же путь. Исключения вроде отсутствующего товара или недоступного тарифа должны приводить к ясному сообщению и возможности продолжить покупку.