VibeFox Purolator for WooCommerce — 帮助
系统要求
WordPress:5.8 或更高版本。
WooCommerce:5.0 或更高版本,已安装并启用。未安装 WooCommerce 时插件无法激活。
PHP:8.0 或更高版本。无需 PHP SOAP 扩展。
Purolator E-Ship Web Services(仅实时运费需要):请在 Purolator 网站的 Purolator E-Ship Resource Centre 中注册 E-Ship Web Services。Purolator 为开发环境和正式环境分别提供密钥和密码。您还需要您的 Purolator 结算账号,以及您发货所在的加拿大邮政编码。如果只使用固定价格,则无需 API 密钥。
VibeFox 许可证密钥:在 vibefox.net 购买。一个密钥只能用于一个域名。
安装
1. 在 WordPress 中进入 Plugins > Add New > Upload Plugin,选择插件 ZIP 文件,然后点击 Install Now。您也可以通过 FTP 将 vfd_purolator 文件夹上传到 /wp-content/plugins/。
2. 点击 Activate。
3. 打开设置:WooCommerce > Settings > Shipping > VibeFox Purolator,或在插件列表页点击插件名称下方的 Settings。
4. 在页面顶部的许可证区块中输入您的 VibeFox 许可证密钥,然后点击 Activate。
5. 如需实时运费,请填写 Purolator API (live rates) 部分。测试时,请使用开发密钥开启 Development environment。如需固定价格或备用价格,请填写 Country prices 或 Fallback price(参见配置)。
6. 在 WooCommerce > Settings > Shipping > Shipping zones 中将 VibeFox Purolator 添加到某个配送区域,或开启 Ignore shipping zones 并选择国家。
配置
所有设置都在同一页面:WooCommerce > Settings > Shipping > VibeFox Purolator。它们适用于所有配送区域。将该方式添加到某个区域时,区域窗口中只有一个字段:
Title (zone):顾客在该区域看到的名称。留空则使用全局的 Method title。
每次保存设置时,缓存的 Purolator 运费都会被清除。如果保存的值无法使实时运费正常工作(缺少密钥、密码或账户,缺少加拿大发货邮政编码,或没有 CAD 汇率),或者既没有 API 凭据也没有固定价格,设置页面上方会显示警告。
常规
Enable/Disable:在所有区域同时启用或禁用该方式。
Method title:在购物车和结账页面显示的配送方式名称。某个区域可以覆盖此名称。默认:Purolator。
Tax status:Taxable 会将 WooCommerce 税费加到运费上,None 则不加。另见下方的 Canadian sales taxes。
Purolator API(实时运费)
填写 API 密钥、密码和结算账号后,价格来自 Purolator E-Ship Estimating 网络服务。如果 Purolator 未返回运费,则使用固定价格;若没有固定价格,则隐藏该方式。
API key:所选环境对应的 E-Ship Web Services 密钥。
API password:与该密钥对应的密码。
Billing account number:您的 Purolator 账号。估价使用该账户的费率。开发环境接受 Purolator 文档中的测试账号。
Development environment:使用 Purolator 开发环境(devwebservices.purolator.com)和开发密钥。价格为测试数据。在正式店铺中请关闭。
Ship-from postal code:包裹寄出的加拿大邮政编码,例如 L4W 5M8。
Service in Canada:Cheapest available(默认)、Purolator Ground、Purolator Ground 9AM、Purolator Ground 10:30AM、Purolator Ground Evening、Purolator Express、Purolator Express 9AM、Purolator Express 10:30AM、Purolator Express 12PM 或 Purolator Express Evening。
Service to the USA:Cheapest available(默认)、Purolator Ground U.S.、Purolator Express U.S.、Purolator Express U.S. 9AM、Purolator Express U.S. 10:30AM 或 Purolator Express U.S. 12:00。
International service:Cheapest available(默认)、Purolator Express International、Purolator Express International 9AM、Purolator Express International 10:30AM 或 Purolator Express International 12:00。
如果所选服务不适用于该地址,则使用最便宜的可用服务。
Canadian sales taxes:对于加拿大地址,Purolator 总价包含 GST/HST/PST/QST。当 Tax status 为 Taxable 时,请开启 Use Purolator prices without GST/HST/PST/QST,以免重复征税。
CAD → (store currency) rate:Purolator 价格以 CAD 计。如果您的店铺货币不是 CAD,请填写 1 CAD 等于多少单位您的货币,例如 0.68。不填则不使用实时运费。如果店铺货币是 CAD,请留空。
Default product weight (kg):用于每个没有重量的商品。默认:0.5。重量会从店铺单位换算,并以整磅的总重量发送给 Purolator,向上取整。
固定价格(在没有 API 凭据时使用,并在 API 未返回运费时作为备用)
Country prices:按国家和购物车重量设定的价格,以店铺货币计。点击 + Add country 添加一行,点击叉号删除一行。选择 * Default (all other countries) 可设置一行,覆盖所有没有单独行的国家。每行都有一个 Base 价格和尺寸列:XS 不超过 1 kg,S 1–2 kg,M 2–3 kg,L 3–5 kg,XL 超过 5 kg。尺寸价格为空或为零时,使用 Base。Base 为 0,或 Base 为空时,对于没有自身尺寸价格的重量,免运费。保存时会删除没有任何价格的行和无效的国家代码。每个国家只保留一行。
Fallback price:对于在 Country prices 中没有行、也没有 * 行的国家所使用的价格。留空则对这些国家隐藏该方式。
Fixed price per:Order 只收取一次价格。Item (price × quantity) 则按购物车中的商品数量相乘。这仅适用于固定价格。实时运费始终按整个发货计算。
条件
Min cart weight (kg):购物车重量低于此值时隐藏该方式。0 表示无限制。
Max cart weight (kg):购物车重量高于此值时隐藏该方式。默认:30。0 表示无限制。
Minimum order amount:仅当购物车小计达到此金额时才显示该方式。留空则始终显示。
Excluded shipping classes:购物车中包含这些 WooCommerce 配送等级中任一等级的商品时,隐藏该方式。
Free shipping from:购物车小计达到此金额起免运费。仅适用于该方式有价格的情况:国家价格或备用价格(此时不会向 Purolator 发送请求),或实时运费。留空则从不提供免运费。
用于这些条件的购物车重量将没有重量的商品计为 0。价格和重量可接受逗号或句点作为小数点。
无配送区域时的可用性
Ignore shipping zones:即使该方式未添加到任何配送区域,也为下方国家提供 Purolator。
Countries:该模式下的目的国家。留空则使用您所有的发货国家。此字段仅在 Ignore shipping zones 开启时使用。
高级
Debug log:将运费计算写入 WooCommerce > Status > Logs(来源为 "vfd-purolator")。即使调试日志关闭,API 错误也始终会记录。API 密钥、结算账号和顾客邮政编码不会被记录。使用完毕后请关闭日志。
Remove data on uninstall:开启后,删除插件将移除其设置、区域方式和缓存的运费。停用插件不会删除任何内容。
结账时的工作方式
顾客输入收货地址时,WooCommerce 会向插件请求运费。插件首先检查条件:收货国家、购物车重量、最低订单金额和排除的配送等级。然后查找价格:先是 Purolator 实时运费,其次是国家价格表,最后是备用价格。如果没有任何价格,则隐藏该方式。如果适用免运费,顾客将看到该方式且无需付费。
有 API 凭据时,插件会向 Purolator 发送 Quick Estimate 请求:您的结算账号、发货邮政编码、顾客的城市、省份或州、国家和邮政编码,以及以整磅计的购物车总重量。加拿大需要有效的邮政编码,美国需要有效的 ZIP 代码;其他国家则按输入的邮政编码发送。不会发送尺寸(体积重量)。Purolator 会返回所有服务的价格;插件采用您选择的服务或最便宜的服务,若已设置则扣除加拿大销售税,并将 CAD 价格换算。该服务会作为 Purolator service 随订单保存,并在管理后台的订单页面可见。
每个响应缓存 1 小时。失败的请求缓存 10 分钟,这样 Purolator 故障就不会拖慢每次结账页面的刷新。API 超时时间为 10 秒。
如果 Purolator 未返回运费(API 不可用、凭据或邮政编码错误、服务不可用、没有 CAD 汇率),顾客不会看到错误。使用固定价格;若没有固定价格,则隐藏该方式。原因会写入日志。
该方式适用于经典结账以及购物车和结账区块。与 WooCommerce 高性能订单存储(HPOS)兼容。
插件仅计算运费。它不会创建 Purolator 运单、打印面单、预约取件、处理退货或追踪包裹。它不使用 Full Estimate(尺寸、多件包裹、签名或危险品等选项),不显示送达日期,不将多项服务作为单独运费显示,也不自动获取汇率。
许可证密钥
本插件需要一个来自 vibefox.net 的 VibeFox 许可证密钥。许可证区块位于 WooCommerce > Settings > Shipping > VibeFox Purolator 页面顶部。将密钥粘贴到 License key 中,然后点击 Activate。该区块会显示状态,例如许可证有效期截止日期以及您的域名。使用 Check now 重新检查状态,使用 Change key 输入另一个密钥,使用 Remove key 将密钥从本站点移除。链接 Manage licenses and domains in your account 会打开您的 vibefox.net 账户。
一个密钥只能用于一个域名。从站点移除密钥不会释放域名名额。请在您的 vibefox.net 账户中释放名额。
没有有效密钥时,Purolator 不会在结账时显示给顾客。已登录的店铺管理员仍能看到,但会标记为 (unlicensed — visible to admins only),方便您在购买密钥前设置和测试插件。插件列表页和 WooCommerce 页面会显示提醒。现有订单不受影响。
许可证过期后,插件仍可继续工作,但更新和支持需要续费。状态会在后台自动重新检查。
故障排除
Purolator 没有出现在结账页面:请检查许可证是否有效、Enable/Disable 是否开启,以及该方式是否已添加到顾客所在国家的区域(或已开启 Ignore shipping zones 且允许该国家)。检查重量限制、Minimum order amount 和 Excluded shipping classes。如果 Purolator 未返回运费,则只有设置了国家价格、* 行或 Fallback price 时才会显示该方式。
实时运费不显示:打开 WooCommerce > Status > Logs,来源选择 "vfd-purolator"。API 错误始终会在此处出现。开启 Debug log 可查看详细信息。使用 API 密钥时,地址必须包含有效的邮政编码(加拿大)或 ZIP 代码(美国)。
日志中出现 HTTP 401:API 密钥或密码与所选环境不匹配。开发密钥仅在 Development environment 开启时有效,正式密钥仅在其关闭时有效。
运费与 Purolator 网站不同:Quick Estimate 使用您结算账户的费率,以及向上取整到整磅的总重量,不包含体积重量。加拿大地址的总价包含销售税;如果 WooCommerce 对运费加收税费,请使用 Canadian sales taxes。价格会按您的 CAD → (store currency) rate 换算。
更改后运费似乎过期:请保存设置页面,这会清除缓存的 Purolator 运费。
许可证区块显示错误:请按区块中的提示操作。例如,如果密钥已在其他域名上使用,请在 vibefox.net 账户中释放名额,然后点击 Check now。如果站点地址已更改,请点击 Check now,为新域名激活密钥。如果无法连接许可证服务器,插件将继续使用上次已知的状态。
卸载
停用插件会保留所有数据。要删除插件,请先停用,然后在 Plugins 页面中删除。本插件的许可证密钥和许可证状态始终会被删除。只有开启了 Remove data on uninstall,设置、区域方式和缓存的运费才会被删除;否则它们会保留,以便日后重新安装。现有订单会保留其配送明细。
Purolator 是其各自所有者的商标。本插件与 Purolator 无关联,也未获得 Purolator 的认可。
