Back

VibeFox DHL Packstation 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.

DHL API key: the list of locations comes from the free DHL Location Finder API. Register on the DHL developer portal (developer.dhl.com), create an app, add the "Location Finder - Unified" API and copy the app's API key. No DHL business contract is needed for this API. Without the key the method is hidden at checkout. Mind the request limit of your DHL app: every new postcode or city search is one API request.

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_dhl_packstation folder to /wp-content/plugins/ by FTP.

2. Click Activate.

3. Open the settings: WooCommerce > Settings > Shipping > DHL Packstation, 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. Paste the DHL API key, save, click Test API key, choose the location types and enter the country prices (see Configuration).

6. Add DHL Packstation to a shipping zone (for example Germany) in WooCommerce > Settings > Shipping > Shipping zones, or turn on Ignore shipping zones.

Configuration

All settings are on one page: WooCommerce > Settings > Shipping > DHL Packstation. 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 of this shipping option at checkout for this zone. Leave it empty to use the global Name.

Warnings above the settings tell you when the DHL API key is empty and when country price entries are not in the right format. Every time you save the settings, the location cache is cleared.

General

Enable/Disable: turns the method on or off in all zones at once.

Name: the shipping method name shown to the customer. Default: DHL Packstation. A zone can override it with its own Title.

Tax status: Taxable adds WooCommerce tax to the shipping cost, None does not.

DHL Location Finder API

DHL API key: the API key of your app on developer.dhl.com. Without it the method is hidden at checkout.

Connection test: the Test API key button searches the locations near 53113 Bonn with the saved key and clears the location cache. Save the settings first. It shows how many locations were found, or that DHL rejected the key (401/403).

Pickup locations

Location types: which DHL locations the customer can choose: Packstation (parcel locker), Post Office (Postfiliale) and DHL Parcel Shop (Paketshop). All three by default. If none is selected, the method is hidden. For a Packstation the customer must enter their DHL Postnummer.

Search radius (meters): the radius around the searched postcode or city. Default: 5000. DHL allows up to 25000 m.

Max results: the maximum number of locations shown per search. Default: 20. DHL allows up to 50.

Shipping address: use the chosen location as the order's shipping address. On by default. Address line 1 becomes for example "Packstation 105", line 2 "Postnummer" with the number, plus the postcode and city of the location, so labels printed from the order go to the right place. The Postnummer is also stored as _shipping_dhl_postnum, the field read by the official "DHL Shipping Germany for WooCommerce" plugin.

Prices

Country prices: the price per destination country in the store currency, format CC:PRICE, separated by commas or new lines. Default: DE:4.99, AT:5.99. A decimal comma also works (DE:4,99).

Other countries: the price for a destination country that is not in Country prices. Default: 5.99. Leave it empty to hide the method for such countries.

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

Free shipping from: the cart subtotal from which this shipping is free. Leave empty for never free.

Availability

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

Max weight (kg): the method is hidden above this cart weight. Default: 31.5, because a Packstation takes parcels up to 31.5 kg. 0 means no limit.

Minimum subtotal: show the method only if the cart subtotal is at least this value. Leave empty to always show it.

Excluded shipping classes: the method is hidden if the cart contains a product of one of these WooCommerce shipping classes.

Ignore shipping zones: offer the method for the countries below even when the matching zone does not contain it.

Countries (ignore zones): the destination countries for that mode. Leave empty for all countries. Used only with Ignore shipping zones.

Advanced

Debug log: logs API requests and checkout steps in WooCommerce > Status > Logs, source vfd-dhl-packstation. API errors are always logged, even when this is off. The API key, the Postnummer and customer addresses are never logged.

Remove data on uninstall: when on, deleting the plugin removes its settings and zone methods. Deactivating never deletes anything. The chosen locations stay in the orders.

How it works at checkout

When the customer enters a delivery address, WooCommerce asks the plugin for a price. The plugin checks the cart weight, the minimum subtotal and the excluded shipping classes, takes the price for the destination country (or the price for other countries) and applies free shipping if the subtotal is high enough.

The method works on the classic checkout and on the Cart and Checkout blocks. It is compatible with WooCommerce High-Performance Order Storage (HPOS).

The plugin does not create DHL shipments, print labels or track parcels. Use the DHL business customer portal or a label plugin: the order already contains the Packstation address and Postnummer in the format they expect. The plugin does not calculate live DHL rates and shows no map. If the DHL API cannot be reached, the customer sees a message and cannot use this method until it works again. There is no manual entry of a Packstation number.

Pickup points

When the customer selects DHL Packstation, a picker appears under the shipping option. The DHL locations near the shipping postcode or city are loaded. The customer can search another postcode or city. Locations are grouped by type (Packstation, Post Office, Parcel Shop) and sorted by distance.

For a Packstation the customer must enter the DHL Postnummer, their 6-12 digit DHL customer number from the DHL app or DHL account. For other locations it is optional. The order cannot be placed without a location or with an invalid Postnummer. This is checked on the server, also for the block checkout.

Search results are cached for 12 hours. A failed search is cached for 10 minutes, so the checkout does not wait for DHL on every refresh. The API timeout is 12 seconds.

The location (ID, type, number, name, address) and the Postnummer are saved in the order. They are shown on the order screen under the shipping address, on the thank-you page, in My account > Orders and in the order e-mails (HTML and plain text) as DHL pickup location and DHL Postnummer.

On the order screen, click Edit next to the location, search by postcode or city, choose another location, change the Postnummer and click Save location. Each change adds an order note. If Shipping address is on, the shipping address is updated too. Reload the page to see it.

License key

The plugin works with a VibeFox license key from vibefox.net. The license block is at the top of WooCommerce > Settings > Shipping > DHL Packstation. 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, DHL Packstation 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

DHL Packstation does not appear at checkout: check that the license is active, Enable/Disable is on, and the method is added to the zone of the customer's country (or Ignore shipping zones is on and the country is allowed). Check that the DHL API key is filled in, at least one location type is selected, the destination country has a price (or Other countries is set), and the weight, subtotal and shipping class rules do not hide it.

No locations are shown: click Test API key. If DHL rejects the key (401/403), check the key and that your app has the "Location Finder - Unified" API. Turn on Debug log and open WooCommerce > Status > Logs, source vfd-dhl-packstation. Check that the request limit of your DHL app is not reached.

No locations near an address: increase Search radius (meters) or Max results, or let the customer search another postcode or city.

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. It only clears the location cache. To remove the plugin, deactivate and delete it on the Plugins page. The license key and license status of this plugin are always removed, as is the location cache. Settings and zone methods are removed only if Remove data on uninstall was on. Otherwise they stay for a later re-install. The chosen locations stay in the orders, and existing orders keep their shipping lines.

DHL and Packstation are trademarks of their respective owners. This plugin is not affiliated with or endorsed by DHL.