VibeFox PostNord for WooCommerce — Помощь
Требования
WordPress: 5.8 или новее.
WooCommerce: 7.0 или новее, установлен и активен. Без него плагин не активируется.
PHP: 8.0 или новее.
API-ключ PostNord (для выбора пункта выдачи): создайте бесплатный аккаунт на developer.postnord.com, добавьте приложение и скопируйте его API-ключ. Без ключа способ доставки работает, но покупатели не смогут выбрать пункт выдачи.
Договор с PostNord: для отправки посылок нужен ваш обычный клиентский договор с PostNord, например MyPack Collect или MyPack Home.
Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В WordPress перейдите в Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку vfd_postnord в /wp-content/plugins/ по FTP.
2. Нажмите Activate.
3. Откройте настройки: WooCommerce > Settings > Shipping > VibeFox PostNord или нажмите Settings под названием плагина на странице «Плагины».
4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.
5. Вставьте API key PostNord, выберите Agreement country и заполните Country prices (см. раздел «Настройка»).
6. Добавьте VibeFox PostNord в зоны доставки Швеции, Дании, Норвегии или Финляндии в разделе WooCommerce > Settings > Shipping > Shipping zones. В настройках способа укажите его Title и Delivery type. Или включите Ignore shipping zones.
Настройка
Все настройки, кроме названия и типа доставки, находятся на одной странице: WooCommerce > Settings > Shipping > VibeFox PostNord. Они действуют для всех зон доставки. Когда вы добавляете способ в зону, в окне зоны есть два поля:
Title (zone): название этого варианта на этапе оформления заказа, например «PostNord MyPack Collect». Оставьте пустым, чтобы использовать общее Name.
Delivery type (zone): Same as global setting (по умолчанию), Service point / parcel locker или Home delivery. Добавьте в зону два способа PostNord, чтобы предлагать оба варианта.
Над настройками страница предупреждает, если API-ключ или цена ещё не заданы. При каждом сохранении настроек очищаются кэшированные списки пунктов выдачи.
Общие
Enable/Disable: если флажок снят, способ скрыт везде, в том числе в зонах доставки.
Name: название способа доставки, которое видит покупатель при оформлении. Способ в зоне может заменить его собственным Title. По умолчанию: PostNord.
Delivery type: значение по умолчанию для всех способов PostNord; каждый способ в зоне может выбрать свой.
Tax status: Taxable добавляет налог WooCommerce к стоимости доставки, None не добавляет.
API PostNord (выбор пункта выдачи)
API key: API-ключ вашего приложения на developer.postnord.com. Он отправляется в PostNord только с вашего сервера, никогда не передаётся в браузер и не записывается в журнал.
Test mode: использует тестовую среду PostNord (atapi2.postnord.com). Только для ключей, выданных для тестовой среды.
Agreement country: страна вашего клиентского договора с PostNord: Швеция, Дания, Норвегия или Финляндия. От неё зависит, какие пункты выдачи предлагаются. Same as the delivery country (по умолчанию) использует страну покупателя.
Цены
Цены указываются в валюте магазина. У PostNord нет публичного API тарифов, поэтому вы задаёте свои цены, обычно это цены по вашему договору с PostNord. Порядок такой: сначала таблица по странам, затем запасная стоимость; бесплатная доставка применяется только там, где одно из этих значений даёт цену.
Calculation type: Per order берёт цену один раз. Per item (price × number of items) умножает её на количество товаров в корзине.
Country prices: цена по стране назначения и весу корзины. Нажмите + Add country, чтобы добавить строку, и крестик, чтобы удалить её. В каждой строке есть Price и колонки веса: XS до 1 кг, S до 2 кг, M до 3 кг, L до 5 кг и XL больше 5 кг. Колонка веса со значением 0 использует колонку Price. Строка * All other countries покрывает все страны, у которых нет своей строки. Десятичные числа с запятой или точкой (9,99 или 9.99). Новая строка создаётся как * All other countries со всеми ценами 0, что означает бесплатную доставку. Выберите страну и введите цены до сохранения или удалите строку. Ячейка, в которой не число, сохраняется как 0 с сообщением.
Fallback cost: используется, когда в таблице стран нет строки для страны назначения и нет строки *. Оставьте пустым, чтобы скрыть способ для таких стран.
Free shipping from: сумма корзины (после скидок, без налога), начиная с которой PostNord бесплатен. Действует только там, где задана цена: строка страны, строка * или запасная стоимость. Оставьте пустым, чтобы никогда не предлагать бесплатную доставку.
Доступность
Min weight (kg): скрывает способ, если корзина весит меньше. Вес товаров пересчитывается из единицы веса вашего магазина. 0 означает без ограничения.
Max weight (kg): скрывает способ, если корзина весит больше. По умолчанию: 30. 0 означает без ограничения. Проверьте ограничение по весу вашей услуги PostNord: постаматы принимают меньше, чем пункты выдачи.
Minimum subtotal: показывает способ, только если сумма корзины не меньше этого значения. Оставьте пустым, чтобы показывать всегда.
Disabled shipping classes: скрывает способ, если в корзине есть товар из любого из этих классов доставки WooCommerce.
Ignore shipping zones: если включено, PostNord предлагается для стран, перечисленных ниже, с общими настройками, даже если он не добавлен в зону доставки. Если выключено, только в тех зонах доставки, где вы его добавили.
Countries (Ignore shipping zones): страны назначения для этого режима. Оставьте пустым, чтобы использовать все страны доставки. Это поле используется только при включённом Ignore shipping zones.
Суммы и веса принимают запятую или точку. Некорректное число не сохраняется, с сообщением.
Дополнительно
Debug log: записывает расчёты тарифов и вызовы API в WooCommerce > Status > Logs (источник «vfd-postnord»). Ошибки API записываются всегда. API-ключ никогда не записывается в журнал. Выключите журнал, когда закончите.
Remove data on uninstall: если включено, удаление плагина стирает настройки PostNord и способы в зонах. Деактивация никогда не удаляет настройки. Пункты выдачи, сохранённые в заказах, всегда остаются.
Как это работает при оформлении заказа
Когда покупатель вводит адрес доставки, WooCommerce запрашивает у плагина тариф. Плагин проверяет условия: вес корзины, минимальную сумму и отключённые классы доставки. Цена берётся из таблицы по странам, затем из запасной стоимости. Если цены нет, способ скрывается. Если применяется бесплатная доставка, покупатель видит способ без стоимости.
Для способа с пунктом выдачи и адреса доставки в Швеции, Дании, Норвегии или Финляндии ваш сервер запрашивает у PostNord Business Location API пункты выдачи, ближайшие к почтовому индексу доставки. Он передаёт страну и индекс доставки, а также страну договора. Таймаут API — 10 секунд. Списки кэшируются на 6 часов для каждого индекса, а ответы «нет пунктов» — на 1 час. Ошибки API кэшируются на 5 минут, чтобы сбой PostNord не замедлял каждое обновление оформления заказа.
Для других направлений способ может предлагаться с вашими ценами, без выбора пункта.
Способ работает в классическом оформлении заказа и в блоках «Корзина» и «Оформление заказа». Совместим с WooCommerce High-Performance Order Storage (HPOS).
Плагин не запрашивает актуальные цены PostNord и не создаёт этикетки для отправки, не оформляет отправления (EDI), не выдаёт трек-номера и не отправляет письма с отслеживанием. Режима карты нет. Для отправлений используйте PostNord Portal, Skicka Direkt Business или плагин для этикеток; сохранённый ID пункта выдачи нужен именно этим инструментам.
Пункты выдачи
Когда покупатель выбирает способ с пунктом выдачи, под ним появляется список PostNord service point с ближайшими пунктами, сгруппированными по городам с расстоянием. До ввода индекса покупатель видит сообщение "Enter your postcode to choose a PostNord service point.". Выбор сохраняется при обновлении оформления заказа.
Когда список загружен, пункт обязателен. Без выбора оформление останавливается с сообщением "Please select a PostNord service point.". Выбранный пункт проверяется на сервере по списку, и в классическом, и в блочном оформлении заказа.
Выбор пункта никогда не блокирует продажу. Если список не удалось загрузить (API-ключ ещё не задан, API PostNord недоступен, рядом с индексом нет пунктов), покупатель видит примечание и всё равно может оформить заказ. Тогда PostNord доставит посылку в пункт выдачи, ближайший к адресу.
Экран заказа в админке: PostNord service point с названием, адресом и Service point ID, под адресом доставки. Если пункт не выбран, там написано "not selected — PostNord delivers to the service point nearest to the shipping address".
Страница благодарности и просмотр заказа в «Мой аккаунт»: PostNord service point: с названием и адресом.
Письма о заказе: название, адрес и ID пункта в HTML- и текстовых письмах.
В базе данных пункт хранится в метаданных заказа _vfd_ptnd_servicepoint_id, _vfd_ptnd_servicepoint_name и _vfd_ptnd_servicepoint_address.
Лицензионный ключ
Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Shipping > VibeFox PostNord. Вставьте ключ в поле License key и нажмите Activate. В блоке показывается статус, например дата, до которой лицензия активна, и ваш домен. Check now проверяет статус ещё раз, Change key позволяет ввести другой ключ, а Remove key удаляет ключ с этого сайта. Ссылка Manage licenses and domains in your account открывает ваш аккаунт на vibefox.net.
Один ключ работает на одном домене. Удаление ключа с сайта не освобождает слот домена. Освободите слот в своём аккаунте на vibefox.net.
Без активного ключа PostNord не показывается покупателям при оформлении заказа. Авторизованные менеджеры магазина по-прежнему видят его, с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и протестировать плагин до покупки ключа. Напоминание появляется на странице «Плагины» и на страницах WooCommerce. Существующие заказы не затрагиваются.
Когда лицензия истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова в фоновом режиме.
Устранение неполадок
PostNord не появляется при оформлении заказа: проверьте, что лицензия активна, включён Enable/Disable и способ добавлен в зону страны покупателя (или включён Ignore shipping zones и страна разрешена). Проверьте, что для страны задана цена (строка страны, строка * или Fallback cost), ограничения по весу, Minimum subtotal и Disabled shipping classes.
Выбор сообщает, что пункты выдачи не загружаются: проверьте API key и настройку Test mode. Боевой ключ не работает с тестовой средой и наоборот. Включите Debug log и посмотрите WooCommerce > Status > Logs, источник "vfd-postnord". Заказ всё равно можно оформить; PostNord доставит его в ближайший пункт выдачи.
Неожиданные пункты выдачи: проверьте Agreement country. От него зависит, какие пункты выдачи предлагаются.
Доставка бесплатная по ошибке: проверьте Country prices на строки с Price 0, особенно на строку *, добавленную через + Add country и оставленную незаполненной, и проверьте Free shipping from.
Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите слот в аккаунте vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.
Удаление
Деактивация плагина сохраняет все настройки и только очищает кэшированные списки пунктов выдачи. Чтобы удалить плагин, деактивируйте его и удалите на странице Plugins. Лицензионный ключ и статус лицензии этого плагина всегда удаляются вместе с кэшированными списками пунктов выдачи. Настройки и способы в зонах удаляются, только если была включена опция Remove data on uninstall. Иначе они сохраняются для повторной установки. Существующие заказы сохраняют свои строки доставки и сохранённый пункт выдачи.
PostNord — товарный знак его правообладателя. Этот плагин не связан с PostNord и не одобрен компанией PostNord.
