Innosend

Description

Innosend adds pickup point delivery to your WooCommerce checkout. Customers pick a location from carriers like PostNL, DHL, DPD, GLS and FedEx — on a map or from a list — directly while checking out.

Features:

  • Pickup point selection in both the block-based and the classic checkout
  • Search by zip code or use the customer’s location (“near me”)
  • Interactive map with all nearby pickup points
  • Multiple carriers via one Innosend account; choose per shipping zone which carriers to offer
  • Configurable shipping fee and free-shipping threshold (incl. or excl. VAT) per shipping zone
  • Pickup point shown on the order confirmation page, in My Account and in the admin order view
  • Compatible with WooCommerce High-Performance Order Storage (HPOS)
  • Translation-ready

How it works:

The plugin connects to the Innosend platform to retrieve your carriers and nearby pickup points. An Innosend account and API key are required — register at innosend.eu.

External Services

This plugin connects to the following external services:

Innosend API (https://api.innosend.eu) — to retrieve your account’s carriers and to search pickup point locations during checkout. Data sent: the customer’s search input (postal code or coordinates when the customer uses “near me”), the destination country, and your API key for authentication. No data is sent until an API key is configured. See the Innosend Terms of Service and Privacy Policy.

Innosend map tiles (https://tiles.innosend.com) — map images for the pickup point map, loaded by the customer’s browser when the map opens. The tile server receives the map area being displayed (standard tile requests) and the customer’s IP address, as with any web resource. Map data © OpenStreetMap contributors, served in the OpenMapTiles schema via OpenFreeMap, styled with an adaptation of CARTO Voyager (© CARTO, CC BY 4.0). See the Innosend Terms of Service and Privacy Policy. Shops can point the map at another tile provider with the innosend_map_tiles filter.

Google Maps (https://maps.google.com) — only when the customer clicks “Directions” on a pickup point: a new tab opens Google Maps with that pickup point’s address. Nothing is sent to Google otherwise. See the Google Terms of Service and Privacy Policy.

Source code and build

The JavaScript in build/ is compiled from the TypeScript/React source included in this plugin:

  • src/ — source of the three bundles: checkout-block (block checkout), classic (classic checkout) and admin (settings screen)
  • package.json, package-lock.json, webpack.config.js, tsconfig.json — build configuration (@wordpress/scripts with the WooCommerce dependency extraction plugin)

To rebuild, from the plugin folder with Node.js 20: npm ci && npm run build. The output is written to build/.

The PHP autoloader in vendor/ is generated by Composer from composer.json (composer install --no-dev); it contains only the Composer autoloader.

Third-party libraries

  • Leaflet 1.9.4 — interactive map; its JavaScript, CSS and marker images are bundled in build/. BSD-2-Clause license.

Installation

  1. Upload the plugin through Plugins Add New Upload, or install it from the plugin directory.
  2. Activate the plugin. WooCommerce must be installed and active.
  3. Go to WooCommerce Settings Shipping Innosend and enter your Innosend API key. Use “Test connection” to verify it.
  4. Add the “Innosend pickup points” shipping method to the shipping zones where you want to offer pickup points, and pick the carriers per zone.

FAQ

Do I need an Innosend account?

Yes. The plugin retrieves carriers and pickup points from your Innosend account. Register at innosend.eu.

Does this work with the block-based checkout?

Yes — both the block-based checkout and the classic shortcode checkout are supported.

Which carriers are supported?

All pickup-point-capable carriers connected to your Innosend account, such as PostNL, DHL, DPD, GLS and FedEx. The plugin automatically shows the carriers your account has.

Will updating from 2.x keep my settings and orders?

Yes. Version 3.0 migrates your shipping zone settings automatically, and pickup point details on existing orders remain intact.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Innosend” is open source software. The following people have contributed to this plugin.

Contributors

“Innosend” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Innosend” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

3.1.0

  • The picker font setting explains how to list fallback fonts, shown below the field
  • Fix: the pickup point dialog stays centered in themes that reset dialog margins
  • Frontend source and build instructions are included in the plugin; translations are delivered by translate.wordpress.org
  • Admin notices only appear on the Plugins and WooCommerce settings screens
  • Fix: in the classic checkout, a pickup point restored after a page reload or a failed payment no longer blocks placing the order with “could not be verified”
  • Fix: orders store the carrier name the Innosend platform expects (e.g. “DHLEuroPlus”, “Transmission”), so shipping rules on the checkout carrier match again
  • Fix: a pickup point in another country than the shipping address is no longer accepted; changing the shipping country clears the selected point
  • Fix: carrier and location names in the map tooltip are always shown as text
  • Fix: logged-in customers with a checkout tab open for a long time can search again without refreshing
  • Fix: the “Please select a pickup point” message in the block checkout only appears when the customer tries to place the order
  • Fix: fewer requests to the Innosend API (no search before the map is opened)
  • Accessibility: a clearly visible keyboard focus outline, focus returns to the pickup point after selecting it, and search progress, results and errors are announced to screen readers
  • Improved: loading state, translated error messages and a “Try again” button in the pickup point map
  • Improved: the pickup point entry and summary have their own background, so they stay readable on dark themes
  • Improved: order pages group opening hours like the checkout does, including split opening hours on one day, and show the carrier separately from the pickup point name
  • Improved: the carrier logo shows again after a page reload
  • Readme: the external services section lists the Innosend map tile server and the Google Maps directions link
  • The map no longer shows a “Leaflet” credit link; only the required map-data attribution remains

3.0.2

  • Fix: the pickup map shows again. It now uses Innosend’s own map server (all of Europe, a clearer map style with street names) instead of a third-party tile service that started requiring an API key; shops can point the map at another tile provider with the innosend_map_tiles filter
  • Fix: with two connections to the same carrier (e.g. two PostNL contracts), every pickup point shows once and can be selected; points from the second connection no longer fail with “could not be verified”
  • Fix: opening hours show the correct day names for every carrier
  • Fix: “DHL EuroPlus” carrier settings from 2.x are migrated; a shipping option whose carriers can’t be migrated is switched off with a notice instead of offering all carriers
  • Fix: in the classic checkout, a pickup point that can’t be accepted asks the shopper to select it again instead of falling back to an earlier choice
  • New: an admin notice when the API key is missing or rejected by Innosend
  • New: “Test connection” checks the API key as typed in the field, so a new key can be tested before saving

3.0.1

  • New: refreshed pickup selector design — theme-adaptive styling, dedicated mobile views, improved accessibility, and configurable accent color, corner radius and font in the shipping settings
  • Fix: switching between pickup shipping options now always clears the previous option’s selected point, including directly after the switch
  • Fix: re-confirming a restored selection after a page reload no longer shows a false “could not save” error
  • Fix: a slow network response can no longer re-show a previously selected point or undo a newer selection
  • Fix: the carriers list now loads when adding or editing a pickup shipping option from the shipping zone screen

3.0.0

  • Complete rewrite, built on the Innosend v2 API
  • New pickup point selector: zip code search, “near me”, carrier filter and map
  • Full support for the block-based checkout (native WooCommerce Blocks integration)
  • Pickup point selection is now validated and stored server-side
  • Multiple shipping zone configurations now work correctly side by side
  • Free-shipping threshold calculated on the pre-discount subtotal, incl./excl. VAT configurable
  • Automatic migration of 2.x settings
  • English and Dutch translations

2.1.1

  • Fix: courier configuration now follows the selected shipping option when multiple options are configured
  • Fix: pickup point selector opens for every Innosend shipping option, not only the first
  • Fix: pickup point selector renders on the classic checkout

2.1.0

  • Security, performance and WordPress coding standards improvements