返回

VibeFox PostNord for WooCommerce — 帮助

系统要求

WordPress:5.8 或更高版本。

WooCommerce:7.0 或更高版本,已安装并启用。未安装时插件无法启用。

PHP:8.0 或更高版本。

PostNord API 密钥(用于服务点选择器):在 developer.postnord.com 创建免费账户,添加应用并复制其 API 密钥。没有密钥时,该配送方式仍可使用,但顾客无法选择服务点。

PostNord 协议:要寄送包裹,您需要自己常用的 PostNord 客户协议,例如 MyPack Collect 或 MyPack Home。

VibeFox 许可证密钥:在 vibefox.net 购买。一个密钥只能用于一个域名。

安装

1. 在 WordPress 中进入 Plugins > Add New > Upload Plugin,选择插件 ZIP 文件,然后点击 Install Now。您也可以通过 FTP 将 vfd_postnord 文件夹上传到 /wp-content/plugins/。

2. 点击 Activate。

3. 打开设置:WooCommerce > Settings > Shipping > VibeFox PostNord,或在插件页面点击插件名称下方的 Settings。

4. 在页面顶部的许可证区块中输入您的 VibeFox 许可证密钥,然后点击 Activate。

5. 粘贴 PostNord API key,选择您的 Agreement country,并填写 Country prices(参见配置)。

6. 在 WooCommerce > Settings > Shipping > Shipping zones 中,将 VibeFox PostNord 添加到瑞典、丹麦、挪威或芬兰的配送区域。在该方式的设置中填写其 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 方式的默认值;每个区域方式都可以选择自己的类型。

Service point / parcel locker:顾客在结账时选择 PostNord 服务点或包裹柜。这是默认值。
Home delivery:不选择服务点。

Tax status:Taxable 会将 WooCommerce 税费计入运费,None 则不计入。

PostNord API(服务点选择器)

API key:您在 developer.postnord.com 上的应用的 API 密钥。它仅从您的服务器发送给 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 kg,S 最高 2 kg,M 最高 3 kg,L 最高 5 kg,XL 超过 5 kg。重量列为 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 高性能订单存储(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 密钥、PostNord API 不可用、邮编附近没有服务点),顾客会看到提示,仍可下单。此时 PostNord 会配送至距离地址最近的服务点。

后台订单页面:PostNord service point,包含名称、地址和 Service point ID,位于配送地址下方。如果未选择服务点,会显示 "not selected — PostNord delivers to the service point nearest to the shipping address"。

感谢页面和“我的账户”订单查看页:PostNord service point:,包含名称和地址。

订单邮件:HTML 和纯文本邮件中包含服务点名称、地址和 ID。

在数据库中,服务点保存在订单元数据 _vfd_ptnd_servicepoint_id、_vfd_ptnd_servicepoint_name 和 _vfd_ptnd_servicepoint_address 中。

许可证密钥

插件需要一个来自 vibefox.net 的 VibeFox 许可证密钥。许可证区块位于 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 的认可或背书。