Back

VibeFox DPD Pickup for PrestaShop — Help

Requirements

PrestaShop: 8.0 to 9.x.

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

DPD Baltic credentials (Lithuania, Latvia, Estonia): the pickup point list comes from the DPD Baltic web service. You need the API username and password that DPD gives to its business customers. Ask your DPD account manager or the DPD customer service of your country. One account lists the pickup points of Lithuania, Latvia and Estonia.

DPD Slovakia: the public DPD Slovakia parcelshop search needs no credentials.

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 DPD Pickup 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. Choose your DPD API. For DPD Lithuania, Latvia or Estonia enter the API username and password. Check the prices per country and click Save. Then click Refresh pickup points to check the connection (see Configuration).

On install the module creates the DPD Pickup Point carrier with the delivery time text DPD Pickup point or locker. The carrier is assigned to the zones of Slovakia, Lithuania, Latvia and Estonia and to all customer groups, without a tax rule. 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 DPD Pickup > Configure. Each section has its own Save button, which saves the whole page. Every save also clears the cached pickup point lists.

Warnings at the top of the page tell you when the DPD Baltic username or password is empty, when no prices are set (both mean the carrier is not shown at checkout) when the carrier was deleted, and when the shop weight unit (International > Localization, Local units) is not known to the module, so product weights are read as kg. A value that is not a number, or a negative number, in an amount or weight field is not saved: the field becomes empty and a warning names it. Lines of Country prices that are not in CC:PRICE format are listed in a warning and ignored.

General

Enable/Disable: turns DPD Pickup 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: DPD Pickup Point. Required, at most 64 characters.

Tax status: the tax rule of the carrier applied to the shipping price. None means no tax. The other options show Taxable with the name of a tax rule of your shop.

DPD pickup point list

Pickup points are loaded from DPD and cached for 24 hours.

DPD API: the DPD company your account is with. Baltic accounts use the web service of their own country.

DPD Lithuania - Baltic API (integracijos.dpd.lt): needs the Baltic username and password.
DPD Latvia - Baltic API (integration.dpd.lv): needs the Baltic username and password.
DPD Estonia - Baltic API (integration.dpd.ee): needs the Baltic username and password.
DPD Slovakia - parcelshop search (api.dpd.sk, no credentials): the default. Lists the pickup points within 50 km of the customer's city and postcode, so the points appear once the customer has entered them.

API username (Baltic): your DPD Baltic web service username. Not needed for DPD Slovakia. Clearing it also clears the saved password.

API password (Baltic): your DPD Baltic web service password. Not needed for DPD Slovakia. After saving, the field stays empty and shows Saved - leave empty to keep it. Type a new value only to change it.

Pickup points: the Refresh pickup points button clears the cache and loads the pickup points from DPD now: Lithuania, Latvia and Estonia for the Baltic API, a test search in Bratislava for DPD Slovakia. It shows the number of pickup points or the error per country. Save the settings first.

Prices

Shipping prices are fixed per country, in your shop default currency, tax excluded. DPD prices are not requested from the API.

Country prices: one line per country: CC:price, for example EE:3.50. A decimal comma is accepted. Default: SK:3.50, LT:4.00, LV:4.00, EE:4.00.

Fallback cost: the price for countries that are not in Country prices. Default: 5.00. Leave it empty to offer the carrier only in the listed countries.

Calculation type: Per order charges the price once. Per item (price x quantity) multiplies it by the number of items in the cart.

Free shipping from: shipping is free when the order subtotal (after discounts, before tax) reaches this amount. Leave empty to turn it off.

Availability

The carrier is also hidden when DPD returns no pickup points for the customer's address or the DPD API cannot be reached, because an order cannot be delivered without a pickup point.

Min weight (kg): the minimum cart weight. Product weights are converted from your shop weight unit. Empty or 0 means no limit.

Max weight (kg): heavier carts do not see the carrier. Default: 31.5. 0 means no limit. Check the parcel limits of DPD Pickup points and lockers in your country. A Min weight (kg) greater than the Max weight (kg) is refused, and nothing is saved.

Minimum subtotal: show the carrier only when the order subtotal (after discounts, before tax) is at least this amount. Leave empty to always show it.

Ignore shipping zones: when on, the carrier is linked to all zones and offered for the countries below. A zone you create later is linked at once. When off, the carrier is offered only in its zones from Shipping > Carriers. Switching it off returns the carrier to the zones it had before.

Countries: the destination countries for that mode. Leave empty for all countries. Only used with Ignore shipping zones.

Pickup point selector

City order: show major cities first (Tallinn, Riga, Vilnius, Bratislava and others). On by default.

City list width: the CSS width of the city list, for example 100% or 300px. Default: 100%.

Pickup point list width: the CSS width of the pickup point list, for example 100% or 400px. Default: 100%.

Advanced

Debug log: writes API requests and checkout steps to logs/vfd_dpd_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. Credentials are never logged.

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 the module settings and the carrier. The pickup point saved in orders is always kept.

How it works at checkout

At the shipping step PrestaShop asks the module for the DPD Pickup price. Only physical products count: virtual products add no weight and are not included in the subtotal. The module checks the countries (with Ignore shipping zones), the cart weight and the minimum subtotal, takes the price for the country (or the fallback cost) and applies free shipping if the subtotal is high enough. Then it loads the DPD pickup points for the address. If DPD returns none, cannot be reached or the Baltic credentials are missing, the carrier is hidden. The price is calculated in your default currency and then shown in the customer's cart currency.

A pickup point list is cached for 24 hours, an empty list for 1 hour. A failed request is remembered for 5 minutes, so a DPD outage never slows down the checkout. The API timeout is 15 seconds.

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 request DPD prices, create DPD shipments, print labels, create manifests, order courier pickups, track parcels or show a map. Only the DPD Baltic web service and the DPD Slovakia parcelshop search are supported.

Pickup points

When the customer selects DPD Pickup, a city list and a pickup point list appear under the carrier. The city of the customer's address is pre-selected. The choice is saved to the cart as soon as the customer selects it. With DPD Slovakia, the customer sees Enter your city and postcode to see the DPD pickup points nearby. until the address is complete, then the points nearby. If DPD has no points for the address, the customer sees No DPD pickup points are available for this address right now. Please check the address or choose another shipping method.

A pickup point is required. Without one the customer cannot continue and sees Please select a DPD pickup point. The server checks that the point belongs to the DPD list for the customer's address. A forged or outdated choice is refused with The selected DPD pickup point is not available for this address. Please choose another one.

The chosen point is saved in the order. It is shown on the order confirmation page and in the customer's order details as DPD pickup point:. In the order confirmation e-mail it is added after the carrier name. The new order e-mail to the shop (ps_emailalerts) also shows the point ID. The name saved in the order comes from DPD, not from the browser.

On the back office order page, the DPD pickup point block shows the point name, its ID and country. Click Edit, choose a city and another point and click Save. The point is checked against the DPD list for the order address, and the page shows Pickup point updated. or Pickup point not found for the order address. Changing the point needs permission to edit orders, not access to the Modules pages. Each change is recorded in Advanced Parameters > Logs for the order, with the old point, the new point and the employee. The order needs a shipping city and postcode to change the point with DPD Slovakia.

If one cart is split into several orders, the pickup point stays with the first order. The other orders show No pickup point was selected for this order., the debug log has an error for each of them, and Edit there shows The pickup point of this cart belongs to another order of the same cart. Nothing was changed. Give the point of such an order to DPD by hand.

License key

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

DPD Pickup 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 and click Refresh pickup points. Check the weight and subtotal limits and that the country has a price (or a fallback cost). Products can also be limited to certain carriers in the product page.

An error after Refresh pickup points: the result shows the DPD error per country. For example, "Login failed" means DPD rejected the Baltic credentials, so no pickup point can be loaded. Check the API username and password with DPD.

DPD Slovakia shows no points: the points appear once the customer has entered the city and postcode. DPD lists only the points within 50 km of that address. Developers can change the radius with the module hook actionVfdDpdSkSearchRadius.

Finding the reason: turn on Debug log, reload the checkout and look at the Log field on the module page. Every decision is written there. API errors are always logged. API usernames and passwords are never written to the log.

Pickup points look outdated after a change: click Save or Refresh pickup points on the module page. Both clear the cached lists.

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

Uninstall

Go to Modules > Module Manager, open the menu next to VibeFox DPD Pickup and choose Uninstall. The license key, the license status and the pickup point cache 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 choices of unfinished carts are removed. If it is off, the carrier is only disabled and all settings are kept. Installing the module again, or a Reset, gives the saved carrier back the status it had before: a carrier you had disabled stays disabled. The pickup point stored in orders is never deleted.

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