VibeFox SmartPost for WooCommerce — Help
Requirements
WordPress: 5.8 or later.
WooCommerce: 7.0 or later, installed and active. The plugin refuses to activate without it.
PHP: 8.0 or later, with the SimpleXML extension (included in most PHP installations).
SmartPost: no API account or key is needed. The pickup point list comes from the open SmartPost places list. SmartPost has no public price API, so you enter your own (contract) prices. Create the parcels in your SmartPost (SmartPosti) business account.
Countries: SmartPost pickup points exist in Estonia, Latvia, Lithuania and Finland. For other destination countries the method is not shown.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
1. In WordPress go to Plugins > Add New > Upload Plugin, choose the plugin ZIP file and click Install Now. You can also upload the vfd_smartpost folder to /wp-content/plugins/ by FTP.
2. Click Activate.
3. Open the settings: WooCommerce > Settings > Shipping > VibeFox SmartPost, or click Settings under the plugin name on the Plugins page.
4. Enter your VibeFox license key in the license block at the top of the page and click Activate.
5. Check the price table (default prices are filled in), the box sizes and the pickup point status at the top of the page.
6. Add VibeFox SmartPost to the zone or zones with Estonia, Latvia, Lithuania and/or Finland in WooCommerce > Settings > Shipping > Shipping zones, or turn on Ignore shipping zones and choose countries.
Configuration
All settings are on one page: WooCommerce > Settings > Shipping > VibeFox SmartPost. They apply to every shipping zone. When you add the method to a zone, the zone window has only one field:
Title (zone): the name customers see for this zone. Leave it empty to use the global Method title.
At the top of the page, notices show problems and the pickup point status. A red notice appears when no price is set, because then the method is not shown at checkout. The block Pickup points available at checkout shows, for each country, how many pickup points in how many cities are available. It also says when a saved copy of the list is used because the SmartPost list is unavailable right now, when a country could not be loaded at all, and when a country has no prices. The button Refresh pickup point lists now downloads the lists again and shows the new numbers.
General
Enable/Disable: turns SmartPost on or off in all zones at once.
Method title: the shipping method name shown to customers. The Title of a zone method overrides it. Default: SmartPost parcel locker.
Tax status: Taxable adds WooCommerce tax to the shipping cost, None does not.
Prices (in your store currency; decimals may be written as 3.50 or 3,50)
Price table: one row for each country (Estonia, Latvia, Lithuania, Finland) with a price for each box size S, M, L and XL, and a Free from column. 0 means free. An empty cell means this box size is not offered: the method is hidden when the parcel needs that box. A country with all cells empty is not served. Free from is the cart total from which SmartPost is free in that country; leave it empty for no free shipping. Prices that are not numbers are reported after saving and left empty. Default prices: Estonia 3.50, Latvia 4.00, Lithuania 4.00, Finland 5.00 for every box.
Box sizes (cm): the inner size of each box, smallest side first (Side 1 (smallest), Side 2, Side 3 (largest)). The product sides are sorted the same way and compared side by side, and the smallest box that fits is used. Products without dimensions fit the S box. A parcel that fits no box hides the method. Product dimensions are converted from the store dimension unit. Defaults: S 12 x 36 x 60, M 20 x 36 x 60, L 36 x 38 x 60, XL 36 x 60 x 60. Sizes that are not positive numbers are reported after saving and not changed.
Calculation: how the price is counted.
Availability
Minimum weight (kg): hide the method when the cart is lighter. Empty or 0 means no limit.
Maximum weight (kg): hide the method when the cart is heavier. Default: 25. 0 means no limit.
Minimum cart total: show the method only from this cart total. Leave empty to always show it.
Excluded shipping classes: hide the method when the cart contains products of these WooCommerce shipping classes.
Ignore shipping zones: offer SmartPost for the countries below without adding it to a zone. When it is off, the countries are defined by the shipping zones where the method is added. This is recommended.
Countries (without zones): the destination countries for that mode, from Estonia, Latvia, Lithuania and Finland. This field is used only when Ignore shipping zones is on. Leave it empty to offer the method in all four countries.
Pickup points
Pickup point types: which SmartPost points the customer can choose: Parcel lockers (APT), Parcel boxes (IPB), Parcel shops (PUDO) and Posti post offices (Finland). Leave it empty to offer lockers, boxes and parcel shops (the default). Which types exist depends on the country: for example, Latvia has parcel boxes only, and post offices exist only in Finland.
City order: when on, major cities come first (Tallinn, Riga, Vilnius, Helsinki and other large cities), then the rest alphabetically. When off, all cities are alphabetical.
Advanced
Debug log: logs price calculation and pickup point list details to WooCommerce > Status > Logs (source vfd-smartpost). Errors, such as an unavailable pickup point list, are always logged. No customer data is logged.
Remove data on uninstall: when on, deleting the plugin removes the settings, zone methods and cached pickup points. Deactivating the plugin never deletes settings. The pickup point saved in orders is kept.
How it works at checkout
When the customer enters a delivery address, WooCommerce asks the plugin for a rate. The plugin works only for Estonia, Latvia, Lithuania and Finland. It checks the cart weight, the minimum cart total and the excluded shipping classes, finds the box for the parcel and takes its price from the row of the shipping country. If the box has no price, or the parcel fits no box, the method is hidden. If the country has no pickup points (the list could not be loaded and there is no saved copy), the method is hidden too, so the customer never sees a checkout that cannot be completed. If the cart total reaches Free from of the country, the price is 0.
The pickup point list of each country is cached for 24 hours and a copy of the last good list is kept. A failed download is remembered for 15 minutes, so the checkout does not wait for the list on every refresh. The download timeout is 15 seconds. Different spellings of the same city (for example Riga and Rīga) are shown as one city.
The method works on the classic checkout and on the Cart and Checkout blocks. It is compatible with WooCommerce High-Performance Order Storage (HPOS). Prices are in your store currency. The plugin does not convert currencies.
The plugin does not request SmartPost prices, create shipments, print labels, call a courier or track parcels. Create the parcels in your SmartPost (SmartPosti) business account. Courier (door-to-door) delivery is not part of this method, and there is no map view.
Pickup points
When the customer selects SmartPost, two lists appear under the method: -- Select city -- and -- Select pickup point --. The lists always belong to the shipping country. In the classic checkout this is the country of the shipping address, or of the billing address when the order is not shipped to a different address; the lists are rebuilt when the country changes. In the block checkout the lists follow the country of the shipping address. The city of the shipping address is pre-selected when it matches a city in the list. Each point is shown with its name and address. The choice is remembered during the checkout, so it is not lost when the checkout refreshes.
A point is required. In the classic checkout the customer sees Please select a SmartPost pickup point in the shipping country. In the block checkout Place order is blocked until a point is chosen. In both checkouts the server checks the point against the list of the shipping country again, so a forged or outdated point ID, or a point of another country, is refused. If the list of the country is temporarily unavailable, the customer sees a message and can choose another shipping method.
The point ID, name, city and country are saved in the order. They are shown on the order screen under the shipping address (with the place ID), on the order received page, in My account > Orders and in the order e-mails (HTML and plain text) as SmartPost pickup point.
To change the point of an order, open the order and click Change next to SmartPost pickup point. Choose a city and a point of the order's shipping country. The new point is saved at once and an order note records the old and the new point.
License key
The plugin works with a VibeFox license key from vibefox.net. The license block is at the top of WooCommerce > Settings > Shipping > VibeFox SmartPost. Paste the key into License key and click Activate. The block shows the status, for example the date the license is active until and your domain. Use Check now to check the status again, Change key to enter another key and Remove key to remove it from this site. The link Manage licenses and domains in your account opens your vibefox.net account.
One key works on one domain. Removing the key from a site does not free its domain slot. Free the slot in your vibefox.net account.
Without an active key, SmartPost is not shown to customers at checkout. Logged-in store managers still see it, marked (unlicensed — visible to admins only), so you can set up and test the plugin before you buy a key. A reminder appears on the Plugins page and on WooCommerce pages. Existing orders are not affected.
When a license expires, the plugin keeps working, but updates and support need a renewal. The status is checked again automatically in the background.
Troubleshooting
SmartPost does not appear at checkout: check that the license is active, Enable/Disable is on, the shipping country is Estonia, Latvia, Lithuania or Finland, and the method is added to the zone of the customer's country (or Ignore shipping zones is on and the country is allowed). Open the settings page: a notice explains if no price is set, if a country has no prices or if a country has no pickup points. Also check the weight limits, Minimum cart total, Excluded shipping classes and the box sizes: a parcel that fits no box, or a box with an empty price cell, hides the method. With Debug log on, WooCommerce > Status > Logs (source vfd-smartpost) shows why the method was hidden.
The customer sees points of another country: the lists follow the shipping address. Check which country is entered in the shipping address (or in the billing address, when the order is not shipped to a different address). A point of another country is refused when the order is placed.
No pickup points for a country: the SmartPost list could not be loaded and there is no saved copy. The plugin retries every 15 minutes. Click Refresh pickup point lists now later. Also check that Pickup point types includes a type that exists in that country.
The pickup point list is outdated: click Refresh pickup point lists now on the settings page. The lists are also downloaded again every 24 hours.
The customer cannot place the order: a pickup point of the shipping country must be chosen. If the customer sees "The SmartPost pickup point list is temporarily unavailable", no points of that country are available right now.
In which currency are the prices: in your store currency. The plugin does not convert currencies.
For developers: the filter vfd_smpt_places_url changes the URL of the places list for a country (arguments: URL, country code), for example to a mirror that returns the same XML.
The license block shows an error: follow the message in the block. For example, if the key is already used on another domain, free a slot in your vibefox.net account and click Check now. If the site address changed, click Check now to activate the key for the new domain. If the license server cannot be reached, the plugin keeps working on the last known status.
Uninstall
Deactivating the plugin keeps all settings. Only the cached pickup point lists are cleared. To remove it, deactivate and delete it on the Plugins page. The license key and license status of this plugin and the caches are always removed. Settings, zone methods and the saved copies of the pickup point lists are removed only if Remove data on uninstall was on. Otherwise they stay for a later re-install. The pickup point saved in orders is never deleted, and existing orders keep their shipping lines.
SmartPost and SmartPosti are trademarks of their respective owner. This plugin is not affiliated with or endorsed by SmartPost.
