VibeFox Instabee for PrestaShop — Help
Requirements
PrestaShop: 8.0 to 9.x.
PHP: 8.0 or later. The module refuses to install on older PHP versions.
Budbee API credentials (for parcel box selection only): an API key and an API secret. Instabee issues them to merchants with a delivery agreement. Ask your Instabee contact or use the Instabee merchant portal. The API documentation is on developer.budbee.com. Without credentials the carrier still works with fixed prices, but customers do not choose a parcel box.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
1. In the back office go to Modules > Module Manager and click Upload a module. Choose the module ZIP file.
2. When the upload finishes, click Configure, or find VibeFox Instabee in the module list later and click Configure.
3. Paste your VibeFox license key into License key in the license block at the top of the Configure page and click Activate (see License key).
4. Fill in the Prices section and, for the parcel box selector, your Budbee API key and API secret (see Configuration). Click Save.
On install the module creates the Instabee parcel box carrier with the delivery time text Delivery to an Instabee parcel box. The carrier is assigned to all customer groups and to the zones of Sweden, Finland, Denmark, the Netherlands and Belgium. You can change zones, customer groups, delivery time and logo in Shipping > Carriers. Do not set prices there: the price always comes from the module.
Configuration
All settings are on the module page: Modules > Module Manager > VibeFox Instabee > Configure. Each section has its own Save button, which saves the whole page.
Warnings above the settings tell you when only one of the API credentials is entered, when there are no API credentials, when there are no country prices and no fallback cost, when the last Budbee API request failed (with date, time and reason), when the Instabee carrier was not found and when the shop weight unit is not recognised (set kg, g, lb or oz in International > Localization, Local units). Every time you save the settings, the cached parcel box lists and the last API error are cleared. If the method name or the tax status is not valid, or Min weight (kg) is greater than Max weight (kg), nothing is saved and an error is shown.
General
Enable/Disable: turns the carrier on or off. This is the same switch as the carrier status in Shipping > Carriers.
Method name: the carrier name shown to the customer at checkout. Default: Instabee parcel box. Required, at most 64 characters.
Tax status: None means the prices below are final. Taxable with a tax rule means PrestaShop adds the shipping tax of that rule on top of the prices below.
Parcel box selector (Budbee API)
With API credentials the customer picks a parcel box near their postal code at checkout, and the box is saved on the order. Both fields are needed. The selector stays off until both are set.
API key: your Budbee API key (the HTTP Basic user name).
API secret: your Budbee API secret (the HTTP Basic password). It is never written to the log.
After saving, both fields stay empty and show Saved - leave empty to keep it. Type a new value only to change it. To delete the saved credentials, tick Remove the saved API key and secret and save. When nothing is saved, the page shows No credentials saved.
Test environment: uses the Budbee staging API (api.staging.budbee.com). Turn it on only with staging credentials from Instabee. Live shops leave it off (api.budbee.com). Default: off.
Prices (the section title shows your shop default currency)
All prices are in the shop default currency, tax excluded. A decimal comma and a decimal point are both accepted (49,90 = 49.90). The price is shown to the customer in the cart currency.
Calculation type: how the price is applied.
Country prices: a table with the columns Country, Price, XS ≤1 kg, S ≤2 kg, M ≤3 kg, L ≤5 kg and XL >5 kg. Click Add country to add a row and the trash icon to remove one. Choose * Any other country for a row that applies to all countries without their own row. An empty or 0 tier uses the Price column. A Price of 0 means free delivery. If the row of the country has no price for the cart weight, the * row is used, then the Fallback cost. A price that is not a number is cleared, and a warning lists it. Weights are converted from your shop weight unit to kg.
Fallback cost: used when neither the row of the destination country nor the * row gives a price. Leave it empty to hide the carrier for such countries.
Conditions
Min weight (kg): hide the carrier below this cart weight. Default: 0 (no limit).
Max weight (kg): hide the carrier above this cart weight. Parcel boxes take up to about 20 kg. Default: 20. 0 means no limit. It cannot be lower than Min weight (kg).
Minimum order amount: show the carrier only when the cart subtotal (products that need shipping, after discounts, before tax) reaches this amount. Leave empty to always show it.
Free shipping from: the cart subtotal (after discounts, before tax) from which the carrier is free. Leave empty to never make it free.
If a value in these fields or in Fallback cost is not a number, it is not saved, the previous value stays, and a warning names the field.
Availability without shipping zones
Normally the carrier is offered in the shipping zones it is linked to in Shipping > Carriers. Alternatively you can enable it for a list of countries here.
Ignore shipping zones: offer the carrier in the countries below even where its zones do not contain them. The carrier is linked to every active zone, including zones created later. When you switch the option off again, the carrier gets back the zones it had before.
Countries: the destination countries for that mode. Leave empty to allow all countries. This field is used only when Ignore shipping zones is on.
Advanced
Debug log: writes debug messages to logs/vfd_ibee_debug.log.php in the module folder. The file cannot be opened from the web. API errors are always logged, even when this is off. API keys and customer data are never logged.
Log: shows the size and the latest entries of the log. Click Clear log to empty it.
Remove data on uninstall: when on, uninstalling the module deletes the settings and the carrier. When off, uninstalling only switches the carrier off. Parcel boxes saved on orders are always kept.
How it works at checkout
At the shipping step PrestaShop asks the module for the Instabee price. Only physical products count: virtual products add no weight and are not included in the order amount. The module checks the conditions: cart weight and minimum order amount, and with Ignore shipping zones the allowed countries. If the cart subtotal reaches Free shipping from, the price is 0. Otherwise the price is taken from the Country prices row of the destination country, the * row or the Fallback cost. If there is no price, the carrier is hidden.
When the customer selects the Instabee carrier and the API credentials are set, a Parcel box block appears under the carrier for Sweden, Finland, Denmark, the Netherlands and Belgium. It lists the boxes near the postal code of the delivery address, sorted by distance, with the name, the address and the distance. The customer can type another postal code and click Search (or press Enter). Until a postal code is entered, the block asks for one. If no boxes are found, the customer is asked to try another postal code or choose another shipping method. For other countries the carrier is offered without a box.
A parcel box is required. The chosen box is saved to the cart only if it is in the Budbee list for that postal code. When the customer clicks Continue in the delivery step, the module checks the box on the server again. Otherwise the customer sees Please choose an Instabee parcel box. The box name is taken from the Budbee list, not from the browser. If the customer changes the delivery country or postal code of the address, the earlier choice is dropped.
The module sends Budbee only the destination country and postal code, never names, addresses, e-mails or order data. Box lists are cached for 12 hours per postal code, a postal code without boxes for 1 hour, and a failed request for 5 minutes, so a slow or broken API does not slow down every checkout refresh. The checkout page itself never waits for Budbee: the list is loaded in the background once the carrier is selected. The API timeout is 10 seconds.
If the Budbee API cannot be reached, the customer sees Parcel boxes cannot be loaded right now. You can place the order without choosing a box - the shop will assign one. The order is then flagged, and you choose the box when you book the shipment. A box chosen earlier that cannot be checked at that moment is kept and marked as not verified.
The selector works with the Classic and Hummingbird themes. If you edit the carrier in Shipping > Carriers after it has orders, PrestaShop saves it as a new carrier version. The module follows the new version automatically.
The module does not calculate live rates, book shipments, print labels, give tracking numbers or tracking e-mails, offer Budbee Home delivery time slots or show a map. Book the parcel for the chosen box in your Instabee / Budbee merchant tools.
Pickup points
When the order is created, the box is checked once more and saved on the order. From then on the storefront cannot change it. The box is shown in these places:
Back office order page: a block Instabee parcel box with the box name, address and Box ID. If the box could not be checked at checkout, it is marked not verified (Budbee API was unavailable at checkout). If no box was chosen because the API was unavailable, the block says Not chosen - the Budbee API was unavailable at checkout. Choose the box when you book the shipment.
Order confirmation page and order details in the customer account: Instabee parcel box: with the box name and address.
Order e-mails: the box is added to the carrier name in the order confirmation e-mail to the customer. The new order e-mail to the shop (from the PrestaShop Mail alerts module) also shows the box ID. If no box was chosen because the API was unavailable, only the e-mail to the shop mentions it.
License key
The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox Instabee is the first block on Modules > Module Manager > VibeFox Instabee > Configure, above the settings. Paste the key into License key and click Activate. After that the block shows the key masked, the status (for example the date the license is active until and your domain) and the buttons Check now to check the status again, Change key to enter another key and Remove key to remove the key from this shop. Below them are the line Product: presta-shipping-instabee and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only employees with the Configure permission for the module can change the key. The texts of the block follow the back office language (English and Russian are included).
If the key is not accepted, the block says why, for example Key not found, This key belongs to another product, Domain limit reached or License expired on a date. After the shop address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the module keeps working on the last known status.
One key works on one domain: the domain of the main shop, also in a multistore setup. Removing the key from the shop does not free its domain slot. Free the slot in your vibefox.net account.
Without an active key, the Instabee carrier is not shown to customers at checkout and no rate is calculated. The PrestaShop storefront does not know that you are logged in to the back office, so the carrier is hidden for you too: you can set up the module before you buy a key, but not test it at checkout. A reminder appears in Modules > Module Manager on the Alerts tab. Existing orders are not affected.
When a license expires, the module keeps working, but updates and support need a renewal. The status is checked again automatically while you work in the back office: once a day for the first 14 days after the key is entered, then once a week. No cron job is needed. Uninstalling or resetting the module always removes the license key and license status.
Troubleshooting
Instabee does not appear at checkout: check that the license is active and Enable/Disable is on. In Shipping > Carriers check that the carrier covers the zone of the customer's country and the customer's group, or that Ignore shipping zones is on and the country is allowed. Check that the country has a price, or that there is a * row or a Fallback cost. Check the weight limits and Minimum order amount. A warning above the settings tells you when no price is configured. Products can also be limited to certain carriers in the product page. Turn on Debug log to see the reason in the Log field.
Customers do not see the parcel box list: the list appears only when both API key and API secret are set, for Sweden, Finland, Denmark, the Netherlands and Belgium, and once a postal code is entered. The last API error is shown above the settings. Details are in the Log field on the module page. Turn on Debug log for more detail.
HTTP 401 or 403 in the log: Budbee rejected the API key or secret. Check them, and check that Test environment matches your credentials (staging credentials only with the test environment on).
No boxes for a postal code: Budbee does not serve that postal code. The customer can search another postal code or choose another shipping method.
The customer cannot continue from the delivery step: a parcel box must be chosen from the list, unless the Budbee API cannot be reached. A box that is not in the list of the searched postal code is not saved, and the customer sees This parcel box is not in the Budbee list for the postal code. Please choose the parcel box again.
Old box lists after a change: click Save on the module page. This clears the cached box lists.
The page says the Instabee carrier was not found: the carrier was deleted in Shipping > Carriers. Reset the module in Modules > Module Manager to create it again. The same applies to the message The settings were saved, but the carrier could not be updated. Resetting keeps the carrier status: a carrier you switched off stays off.
Uninstall
Go to Modules > Module Manager, open the menu next to VibeFox Instabee and choose Uninstall. The license key and license status are always removed. The cached box lists are always removed. If Remove data on uninstall is on, the carrier is deleted (orders keep their history), and the settings, the log and the boxes chosen in carts that never became orders are removed. If it is off, the carrier is only switched off and all settings are kept. Installing the module again gives the saved carrier back the status it had. Parcel boxes saved on orders are always kept.
Instabee and Budbee are trademarks of their respective owners. This module is not affiliated with or endorsed by Instabee or Budbee.
