Плагин позволяет рассчитать возможность и стоимость курьерской доставки и доставки до пункта выдачи заказов компании Boxberry. Работает как со «старым», так ис «новым» личным кабинетом Boxberry.
![]()
Несмотря на то, что плагин совместим со старой версией PHP 7.2, рекомендуем использовать его на системах с PHP 8.x для более быстрой и стабильной работы.
При работе с Shop-Script 7.2.11 и более новыми есть возможность автоматически передавать заявки на доставку в Boxberry.
При работе с Shop-Script 8.1 и более новыми есть возможность учитывать габариты товаров в заказе.
При работе с Shop-Script 8.5 и более новыми есть возможность учитывать тип способа оплаты (при получении или предоплата).
Гибкое указание наценок
К стоимости доставки, посчитанной сервером Boxberry, можно добавить наценку или вообще указать фиксированную стоимость. Наценку можно рассчитывать в рублях, в процентах от стоимости заказа, достаки, суммы доставки и заказа, а также можно использовать формулы для сложных наценок вида «100 р. плюс стоимость доставки, плюс 0.5 процента от стоимости заказа, плюс 10 процентов стоимости доставки». Описание переменных для использования в формулах и примеры формул есть на вкладке «Информация» настроек плагина.
Ограничения на расчёт
Плагин позволяет задать различные ограничения для расчёта.
Ограничение по весу и габаритам
Можно задать максимальный вес, при превышении которого покупателю будет сообщено о невозможности доставки. Такое же ограничение можно задать и для габаритов заказа. Либо не ограничивать расчёт по этим параметрам вовсе.
Ограничения по географии
Можно задать географические ограничения для доставки заказа, например «только Костромская область и город Одинцово Московской области», либо наоборот «всюду, кроме города Киров, республики Карелия и города Ленск республики Саха».
Ограничение по стоимости заказа
Есть возможность указать рамки (от и до) стоимости заказа, для которого должен выполняться расчёт. Если заказ (без учёта стоимости доставки) дешевле минимального значения, либо больше максимального, покупателю будет показано сообщение о невозможности доставки.
Бесплатная доставка
Стоимость заказа, выше которой доставка будет бесплатной, можно задать раздельно для курьерской доставки и доставки в пункт выдачи. Ну или не задавать вовсе, если у вас нет бесплатной доставки.
Дата доставки
Дата доставки рассчитывается исходя из количества дней, которые насчитает сервер Boxberry. Добавить дополнительные дни вы можете в соответствующих настройках плагина. Также в настройках плагина можно выбрать пункт приема отправлений, в который вы сдаете заказы и рачет сроков доставки будет выполняться с учетом всех перемещений от этого пункта, до сортировки и до клиента.
Расчет времени до отправки
Плагин позволяет определить дату, когда заказ будет отправлен, можно было точнее рассчитать дату, когда он сможет выдать отправление. Расчет состоит из четырёх настроек:
- Учитывать системную дату отгрузки — если ваш Shop-Script (8.0 И выше) настроен на вычисление даты готовности товара к отправке, то за дату начального отсчёта будет браться вычисленная Shop-Script'ом дата. В противном случае используется текущая дата.
- Час переноса отгрузки добавит еще один день к дате отгрузки, если текщее время (на сервере) больше указанного часа. Например, если час переноса отгрузки указан «18», то к сроку отгрузки всех заказов сделанных после 18:00 будет добавляться еще 1 день.
- Срок комплектации добавит указанное число дней к дате отправки
- Дни недели отгрузки позволяет указать дни недели, по которым заказы передаются в Boxberry. Если после предыдущих расчетов получается день, в который нет отгрузки, до к сроку комплектации будет добавлено столько дней, чтобы получилась отправка в первый доступных день недели.
Пример расчета, когда сможем отправить:
- Настройки: Срок комплектации: 1; Час переноса:18; дни недели: пн,вт,ср,чт,пт.
- Заказ оформляется в четверг 10 мая, в 18:32
- «Час переноса»: заказ сделан после 18, значит отгрузим в пятницу 11 Мая
- «Срок комплектации» (1 день), значит к пятнице добавим день и сможем отгрузить в субботу 12 мая
- «Дни недели» (суббота и воскресенье не отгружаем), значит сможем отправить в понедельник 14 мая
Итого: Для расчета срока доставки колчиство дней доставки Boxberry будет отсчитываться от даты отгрузки 14 мая.
Наименование пункта выдачи
В настройках метода доставки есть возможность указать шаблон, по которому формируются наименования пунктов выдачи. Для обработки шаблона используется синтаксис Smarty, такой же, как и для шаблонов тем оформления. В шаблон передаются переменные $name, $address, $address_reduce, $metro, $city_name и $settlement. По умолчанию используется шаблон "ПВЗ {$name}".
Переменные шаблона:- $name — это название ПВЗ, которое формирует Boxberry. Выглядит примерно так: «Воронеж Ленинский_3602_С»
- $address — полный адрес пункта выдачи. Например «394033, Воронеж г, Ленинский пр-кт, д.172»
- $address_reduce — сокращенный адрес пункта выдачи. «Ленинский пр-кт, д.172»
- $metro — Наименование ближайшей станции метро (если есть)
- $city_name — наименование города. «Воронеж»
- $settlement — наименование населенного пункта. Может быть пустым, может быть таким же, как и город, может и отличаться от названия города
Пару примеров готовых шаблонов наименований вы можете посмотреть на нашем сайте .
Выбор ПВЗ на карте
В режимах, где не предусмотрена штатная карта (оформление заказа в бэкенде и пошаговый режим) плагин может показывать свою карту для удобного выбора пункта выдачи на карте.
В настройках способа доставки можно разрешить показ карты, чтобы покупатели могли выбрать ПВЗ на карте. Корректность отображения карты зависит от темы дизайна. Мы протестировали и убедились, что карта работает с темой дизайна Default. Адаптация отображения карты к другим темам дизайна в бесплатную поддержку плагина не входит!
Отдельно в настройках можно разрешить также показ карты в бэкенде при выборе способа доставки во время редактирования заказа. Это поможет вашему менеджеру оформить заказ по телефону и предложить оптимальный пункт выдачи в городе клиента.
Карта точно совместима с плагином Купить в один клик. Мы протестировали и убедились, что карта показывается и работает с плагином быстрого оформления заказа. Нужны минимальные дополнительные стили, которые нетрудно добавить в настройках плагина Купить в один клик.
Хелпер для получения информации о ПВЗ
В плагине есть статический метод, который поможет вам получить информацию о пункте выдачи по коду ПВЗ. Или сам извлечёт код ПВЗ из параметров заказа и, если в заказе выбрана доставка в ПВЗ Boxberry, выдаст массив с информацией о пункте выдачи. Хелпер можно использовать в транзакционных письмах, чтобы напомнить покупателю, в какой именно пункт он заказал. Можно использовать в письмах-напоминаниях о том, что заказ можно забирать, в шаблонах и .т.д. Пример вызова хелпера и описание структуры данных, выдаваемых хелпером находятся на вкладке «Информация» в настройках способа доставки.

Пример уведомления с адресом пункта выдачи, полученным с помощью хелпера
У плагина есть встроенный метод, позволяющий отправить в транзакционном письме информацию о пункте выдачи заказов, который выбрал покупатель в процессе оформления заказа. В качестве параметра методу передается идентификатор варианта доставки, а разультат выдается в виде массива, элементы которого можно использовать в шаблоне транзакционного письма. Если информации о ПВЗ не найдено, возвращается пустой ответ.
Получение информации от плагина
Пригодится вашему верстальщику.
В шаблоне транзакционного письма нужно спева убедиться, что в заказе выбран метод доставки, созданный с использованием
нашего плагина, а затем вызвать метод getPointInfo() передав ему в качестве параметра выбранный вариант доставки.
{$point_info = $shipping_plugin->getPointInfo($order.params.shipping_rate_id)}
Если пункт выдачи, соответствующий указанному варианту найден, то в переменной `$point_info` будет следующий массив данных:
array(
'name' => 'Наименование ПВЗ'
'only_prepaind_orders' => 'В ПВЗ выдают только предоплаченные заказы (yes/no)',
'acquiring' => 'В ПВЗ возможна оплата картой при получении (yes/no)',
'metro' => 'Ближайшая станция метро, если есть. Или пусто.',
'address' => 'Адрес ПВЗ',
'phone' => 'Телефон ПВЗ',
'trip_description' => 'Текст, как добраться до ПВЗ',
'schedule' => 'Режим работы'
);
{if !empty($order.params.shipping_plugin) && ($order.params.shipping_plugin == 'bxb') && !empty($order.params.shipping_rate_id) && !empty($shipping_plugin)}
{$point_info = $shipping_plugin->getPointInfo($order.params.shipping_rate_id)}
{if !empty($point_info) && !empty($point_info.name)}
<p>Пункт выдачи <b>{$point_info.name|escape}</b>:<br>
Адрес: {$point_info.address|escape}
{if !empty($point_info.metro)}(ближайшая станция метро: {$point_info.metro|escape}){/if}<br>
{if !empty($point_info.phone)}Телефон: {$point_info.phone|escape}<br>{/if}
{if !empty($point_info.trip_description)}Как добраться: <i>{$point_info.trip_description|escape}</i><br><br>{/if}
{if !empty($point_info.schedule)}Время работы: {$point_info.schedule|escape}{/if}
</p>
{/if}
{/if}