VibeFox Estafeta for PrestaShop — Help
Requirements
PrestaShop: 8.0 to 9.x.
PHP: 8.0 or later with the cURL extension. The module refuses to install on older PHP versions or without cURL.
DrEnvio account (for live rates only): live Estafeta rates come from DrEnvio, an Estafeta partner in Mexico. Create an account at drenvio.com, enable Estafeta, set up your pickup address there and copy the API key from your DrEnvio panel. It is the same key the official DrEnvio plugin uses. If you only use your own prices, you do not need a DrEnvio account.
Products: products need a weight for live rates.
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 Estafeta 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. Enter the DrEnvio API key and, optionally, the Origin postcode. If your default currency is not MXN, enter the MXN exchange rate. Set a country price for MX or a Fallback cost if the carrier should stay visible when DrEnvio has no rate. Click Save.
On install the module creates the Estafeta carrier with the delivery time text Estafeta courier (Mexico). The carrier is assigned to all zones and all customer groups. You can change zones, customer groups, delivery time, logo and size limits 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 Estafeta > Configure. Each section has its own Save button, which saves the whole page. Every save also clears the cached DrEnvio rates.
At the top of the page the module shows warnings: no DrEnvio API key, a default currency other than MXN without an exchange rate, no country price for MX and no fallback cost (the carrier is then hidden when there is no live rate, or never shown without an API key), or a shop weight unit the module does not know (product weights are then taken as kg; set the unit in International > Localization, Local units). Number fields accept a decimal point or comma. A value that is not a valid number is cleared and reported when you save; the other settings are still saved.
General
Zones, customer groups and size limits of the carrier are set in Shipping > Carriers. These settings apply to every zone.
Enable/Disable: turns Estafeta shipping on or off. This is the same switch as the carrier status in Shipping > Carriers.
Name: the carrier name shown to the customer at checkout. Default: Estafeta. Required. An invalid name is reported and the previous name is kept.
Tax: the tax rule of the carrier, or No tax. The shop adds this tax on top of the shipping cost. Whether DrEnvio prices include IVA depends on your DrEnvio account. If they already include IVA, choose No tax.
Live rates (DrEnvio API)
The cheapest Estafeta service for the address is offered. Without a key the prices in the next section are used.
DrEnvio API key: the API key from your DrEnvio panel. After saving, the field stays empty and shows Saved — leave empty to keep it. Type a new value only to change it.
Remove the saved API key: shown only while a key is saved. Set it to Yes and save to delete the key. Then only Country prices and the Fallback cost are used. A key typed in the field above replaces the saved one instead.
Origin country: the two-letter country code of the pickup address. Default: MX. Sent only together with the origin postcode.
Origin postcode: the 5-digit postcode of the pickup address. Leave it empty to use the origin address saved in your DrEnvio account. A postcode that does not have 5 digits is cleared and reported when you save.
MXN exchange rate: DrEnvio quotes in Mexican pesos. Only needed if your default currency is not MXN: the value of 1 MXN in your default currency, for example 0.05. Without it live rates are not used.
Prices without a live rate
Used when there is no API key or DrEnvio returns no Estafeta rate (API down, unknown postcode, no postcode entered yet). Prices are in your shop default currency, tax excluded.
Country prices: one destination country per line in the format CC:PRICE, for example MX:150. Use a decimal point or comma, no thousands separator. Parts in another format are ignored and reported when you save.
Fallback cost: the price when there is no live rate and no country price. Leave it empty to hide the carrier; 0 means free shipping.
Calculation type: Per order charges the price once. Per item (price x number of items) multiplies it by the number of items in the cart. This applies to Country prices and Fallback cost. A live DrEnvio rate is always the price of the whole parcel.
Conditions
Free shipping from: shipping is free when the cart subtotal (products that need shipping, after discounts, before tax) reaches this amount. No DrEnvio request is made then. Leave it empty to never give free shipping.
Minimum subtotal: show the carrier only when the cart subtotal (after discounts, before tax) is at least this amount. Leave it empty to always show it.
Min weight: the minimum cart weight in kg for the carrier to appear. 0 means no limit.
Max weight: the maximum cart weight in kg. The carrier is hidden if it is exceeded. Default: 30. 0 means no limit.
If Min weight is greater than Max weight, saving shows an error and both weights stay unchanged. Product weights are converted from your shop weight unit to kg.
Availability without shipping zones
Ignore shipping zones: offer the carrier for the countries below without setting up zones for it. While it is on, the carrier gets every zone, including zones you create later. Switching it off gives the carrier its own zones back.
Countries: the destination countries for that mode, chosen from the active countries of your shop. Leave empty for all countries. Used only when Ignore shipping zones is on.
Advanced
Debug log: writes API requests and rate calculations to logs/vfd_est_debug.log.php in the module folder. The file cannot be opened from the web. API errors are always logged. The API key and customer addresses are never logged. Turn the log off when you are done.
Log: shows the size and the latest entries of the debug log. Click Clear log to empty it.
Remove data on uninstall: when on, uninstalling the module deletes all module settings, the carrier, the saved Estafeta services of orders and the log. When off, everything is kept for a re-install.
How it works at checkout
At the shipping step PrestaShop asks the module for the Estafeta price. Only physical products count: virtual products add no weight and are not included in the subtotal. The module first checks the conditions: the Countries list (when Ignore shipping zones is on), the cart weight and the minimum subtotal. If free shipping applies, the price is 0 and no request goes to DrEnvio.
Otherwise the module sends DrEnvio the destination country and postcode, the cart weight, the number of items and the subtotal in MXN, and the origin postcode if you set one. Mexican postcodes must have 5 digits; until the customer enters a delivery address with one, no request is made. DrEnvio returns quotes of all carriers of your account. The module uses only Estafeta quotes, ignores zero prices, picks the cheapest one and converts it to your default currency. The price is then shown in the customer's cart currency.
Each answer is cached for 1 hour. A failed request or a route without an Estafeta rate is remembered for 5 minutes, so a slow or broken API never stalls every checkout update. The API timeout is 12 seconds. In these cases the customer sees no error: the country price or the fallback cost is used, or the carrier is hidden if neither is set. The reason is written to the log.
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 calculates rates only. It does not create shipments, print labels (guías) or track parcels; create the shipment in your DrEnvio or Estafeta account. The customer cannot choose a specific Estafeta service or an Estafeta office, and exchange rates are not updated automatically.
Orders
When an order with the Estafeta carrier is placed, the module keeps the rate calculated for its cart. Later recalculations, for example on the back office order page, do not change it.
The order page in Orders > Orders shows an Estafeta block:
Estafeta service: the Estafeta service of the DrEnvio quote and its delivery time. Shown only for live rates.
Price source: Live DrEnvio rate, Country price (no live rate), Fallback cost (no live rate) or Free shipping threshold.
Calculated price (excl. tax): the shipping price in your default currency.
License key
The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox Estafeta is the first block on Modules > Module Manager > VibeFox Estafeta > 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-estafeta 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 Estafeta 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
Estafeta 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 Ignore shipping zones is on and the country is allowed). Check the warnings at the top of the module page, the weight limits and Minimum subtotal. Without an API key or when DrEnvio has no Estafeta rate, the carrier needs a country price for the destination or a fallback cost. Products can also be limited to certain carriers in the product page.
Live rates do not appear: turn on Debug log, reload the checkout and look at the Log field on the module page. It shows the reason: no API key, no exchange rate for a shop whose default currency is not MXN, a missing or invalid postcode, a rejected API key (DrEnvio HTTP 401 or 403, check the API key), no Estafeta rate for the route (the log lists the carriers DrEnvio returned), or a rate in a currency other than MXN.
Does the price include IVA? That depends on your DrEnvio account. If the DrEnvio prices already include IVA, set Tax to No tax.
Rates look outdated after a change: click Save on the module page. This clears the cached DrEnvio rates.
The page says the Estafeta 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.
The order page has no Estafeta block: the block is shown only for orders placed with the Estafeta carrier while the module was installed. Uninstalling with Remove data on uninstall on deletes the saved services.
Uninstall
Go to Modules > Module Manager, open the menu next to VibeFox Estafeta and choose Uninstall. The license key and the license status are always removed. The cached rates are always removed. If Remove data on uninstall is on, the carrier is deleted (orders keep their history), and the settings, the saved Estafeta services of orders and the log are removed. If it is off, the carrier is only disabled and the settings and the saved services of orders are kept. Installing the module again gives the carrier back the status it had before the uninstall.
Estafeta and DrEnvio are trademarks of their respective owners. This module is not affiliated with or endorsed by Estafeta or DrEnvio.
