Back

VibeFox Delhivery for PrestaShop — Help

Requirements

PrestaShop: 8.0 to 9.x.

PHP: 8.0 or later. The module refuses to install on older PHP versions.

Delhivery API token (for live rates only): log in to Delhivery One and open Settings > API setup. The Delhivery help article "API token generation" explains the steps. Both links are on the module page. Test tokens work with the staging environment. You also need the 6-digit pincode of your pickup location. If you only use fixed prices, you do not need a token.

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 Delhivery 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 API token and your origin pincode, choose Express or Surface and Pre-paid or COD. If your shop default currency is not INR, enter the conversion rate. Optionally enter fixed prices (see Configuration). Click Save.

On install the module creates the Delhivery carrier with the delivery time text Courier delivery (India) and the Delhivery tracking page as its tracking URL. 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 Delhivery > Configure. They apply to every zone. Each section has its own Save button, which saves the whole page. Every save also clears the cached Delhivery rates. Amounts accept "9.99" and "9,99". If a number field does not contain a non-negative number, an error is shown and nothing is saved.

If your shop default currency is not INR, an API token is saved and no conversion rate is set, a warning above the form reminds you that live rates are not used until you enter the rate. If your shop weight unit is not a standard one (kg, g, lb or oz), a warning asks you to set it in International > Localization (Local units), because product weights are otherwise read as kilograms.

General

Enable Delhivery: turns the carrier on or off. This is the same switch as the carrier status in Shipping > Carriers.

Method title: the carrier name shown in the cart and at checkout. Default: Delhivery. Required, at most 64 characters.

Tax: the tax rule of the carrier, or No tax. With a rule, PrestaShop adds tax on top of the shipping cost.

Delhivery API account (needed for live rates only)

Environment: Production (track.delhivery.com) (default) or Staging / test account (staging-express.delhivery.com). Use Staging only with a Delhivery test token.

API token: your Delhivery API token. It is sent only in the authorization header and never written to logs. After saving, the field stays empty and shows Saved — leave empty to keep it. Type a new value only to change it.

Remove saved token: turn it on and save to delete the saved token. Only the fixed prices are used then.

Origin pincode: the 6-digit pincode of your pickup location or warehouse, for example 110001. If it does not have 6 digits, a warning is shown and live rates are not requested until it is fixed.

Live rates

A live rate is requested for Indian destinations with a valid 6-digit pincode, for a forward (delivered) shipment.

Shipping mode: the Delhivery billing mode used for the rate: Express (default) or Surface.

Payment type: the payment type sent to Delhivery: Pre-paid (default) or COD (cash on delivery — Delhivery adds its COD charge). The module does not switch it by the payment method the customer chooses.

Rate amount: Delhivery returns the charge with and without GST.

Total amount (including GST): the default.
Gross amount (excluding GST): choose this if the carrier has a tax rule (General > Tax), so tax is not charged twice.

INR to (shop currency) conversion rate: the label shows your shop default currency. Delhivery rates are in Indian rupees. If your default currency is not INR, enter how many units of your currency one rupee is worth, for example 0.011. The rate must be greater than 0. Leave it empty and live rates are not used, the fixed prices apply. Not needed when your default currency is INR.

Fixed prices (used when no live rate is available)

Fixed prices are used when there is no token or pincode yet, the destination is outside India, the pincode is not serviceable or the API returns an error. They are in your shop default currency, tax excluded.

Prices per country: one per line in the format COUNTRY_CODE:price, for example IN:120. Checked before the fallback price. Lines in another format are dropped on save, and a warning lists them.

Fallback price: used when neither a live rate nor a country price applies. Leave it empty to hide the carrier. 0 means free.

Fixed price is charged: Per order charges the price once. Per item (price × quantity) multiplies it by the number of items in the cart. A live Delhivery rate is always for the whole parcel weight.

Conditions

Free shipping from: delivery is free if the cart subtotal (products that need shipping, after discounts, before tax) is at least this amount. No request goes to Delhivery. Leave empty to turn it off.

Show from subtotal: show the carrier only if the cart subtotal is at least this amount. Leave empty to always show it.

Min weight: the minimum cart weight in kg to show the carrier. 0 means no limit.

Max weight: hide the carrier if the cart is heavier, in kg. Default: 30. 0 means no limit, an empty field means 30 kg. Min weight cannot be greater than Max weight: the page shows an error and nothing is saved.

Product weights are converted to kg from your shop weight unit. The rate uses the actual cart weight (the sum of product weights), without volumetric weight or boxes.

Availability without shipping zones

Ignore zones: when off, the countries are defined by the zones of the carrier in Shipping > Carriers. When on, the carrier is linked to all zones (also zones you create later) and offered for the countries below. Turning it off gives the carrier its previous zones back.

Countries: the destination countries for that mode, chosen from your active countries. Leave empty to use all countries you ship to. Used only when Ignore zones is on.

Advanced

Debug log: writes rate calculations to logs/vfd_dlv_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. Tokens and full customer pincodes 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 Delhivery settings, the carrier, cached rates, order data and logs. When off, everything is kept for a re-install. AWB numbers of orders are never deleted.

How it works at checkout

At the shipping step PrestaShop asks the module for the Delhivery price. Only physical products count: virtual products add no weight and are not included in the subtotal. The module first checks the countries (when Ignore zones is on), the cart weight and Show from subtotal. If free shipping applies, the price is 0 and no request goes to Delhivery.

For an Indian address with a valid 6-digit pincode, the module sends Delhivery the origin and destination pincodes, the cart weight in grams, the shipping mode and the payment type. The returned amount is converted from INR to your default currency and then shown in the customer's cart currency. Each answer is cached for 1 hour. A failed request is cached for 10 minutes, so the checkout does not wait for Delhivery on every refresh. The API timeout is 10 seconds.

If there is no live rate, the price for the country or the fallback price is used. If neither is set, the carrier is hidden. The customer never sees an API error. 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 and gives customers a tracking link. It does not create shipments or waybills, print labels, request pickups or manifests, check pincode serviceability, estimate delivery dates, sync tracking statuses or quote international Delhivery rates. Outside India only the fixed prices are used.

Orders and tracking

When an order is placed with Delhivery, the module stores the shipping mode and the price source with the order. On the admin order page the Delhivery block shows Mode: (Express or Surface), Price: (live Delhivery rate, fixed price or free shipping threshold) and the Delhivery AWB / tracking number, or Not entered yet.

Create the shipment in Delhivery One, then enter its AWB as the tracking number of the order in the Carriers block of the order page (Edit). The Delhivery block then shows a Track on delhivery.com link. The customer sees a tracking link in the order history and gets the "In transit" e-mail from PrestaShop.

License key

The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox Delhivery is the first block on Modules > Module Manager > VibeFox Delhivery > 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-delhivery 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 Delhivery 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

Delhivery does not appear at checkout: check that the license is active and Enable Delhivery is on. In Shipping > Carriers check that the carrier covers the zone of the customer's country and the customer's group, or turn on Ignore zones and check Countries. Check the weight limits and Show from subtotal. Without a live rate, a country price or a Fallback price is needed. Products can also be limited to certain carriers in the product page.

Live rates do not appear: check the API token, a valid Origin pincode and, if your default currency is not INR, the conversion rate. The customer must enter a valid 6-digit Indian pincode. Turn on Debug log, reload the checkout and look at the Log field on the module page. It shows the reason, for example a pincode that is not serviceable or an HTTP error from Delhivery.

GST is charged twice: Delhivery's total amount already includes GST. Set Rate amount to Gross amount (excluding GST) or Tax to No tax.

Testing: set Environment to Staging and use a Delhivery test token.

Rates look outdated after a change: click Save on the module page. This clears the cached Delhivery rates.

The page says the Delhivery carrier was not found: the carrier was deleted in Shipping > Carriers. Reset the module in Modules > Module Manager to create it again.

For developers: the module runs the hooks actionVfdDlvApiUrl and actionVfdDlvApiTimeout, which can change the API address and the timeout.

Uninstall

Go to Modules > Module Manager, open the menu next to VibeFox Delhivery and choose Uninstall. The license key, the license status and the cached rates are always removed. If Remove data on uninstall is on, the carrier gets its previous zones back and is deleted (orders keep their history), and the settings, the log and the Delhivery data of orders (mode and price source) are removed. If it is off, the carrier is only disabled and all settings are kept. Installing the module again restores the carrier with the status it had before. AWB numbers stay in the orders.

Delhivery is a trademark of its respective owner. This module is not affiliated with or endorsed by Delhivery.