{"id":378268,"date":"2026-10-01T14:55:48","date_gmt":"2026-10-01T14:55:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/innosend\/"},"modified":"2026-10-01T14:55:11","modified_gmt":"2026-10-01T14:55:11","slug":"innosend","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/innosend\/","author":23270334,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.1.0","stable_tag":"3.1.0","tested":"7.1.2","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"Innosend","header_author":"Innosend","header_description":"Integrate Innosend pickup points into your WooCommerce checkout. Let customers choose convenient delivery locations from multiple carriers.","assets_banners_color":"","last_updated":"2026-10-01 14:55:11","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/innosend.eu\/","header_plugin_uri":"https:\/\/innosend.eu\/kennisbank\/woocommerce-pickup-points-koppelen\/","header_author_uri":"https:\/\/innosend.eu","rating":0,"author_block_rating":0,"active_installs":0,"downloads":78,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.1.0":{"tag":"3.1.0","author":"innosenddev","date":"2026-10-01 14:55:11","revision":3723365}},"upgrade_notice":{"3.1.0":"<p>First release on WordPress.org. Updating from 2.x: your settings are migrated automatically; please review the carriers per shipping zone after updating.<\/p>","3.0.0":"<p>Major update: complete rewrite on the new Innosend API. Settings are migrated automatically; please review your shipping zone carrier selection after updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3723369,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3723369,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Pickup point selection in checkout","2":"Map view with nearby pickup points","3":"Shipping zone configuration"}},"plugin_section":[],"plugin_tags":[5143,13827,184916,3546,286],"plugin_category":[45],"plugin_contributors":[283901],"plugin_business_model":[],"class_list":["post-378268","plugin","type-plugin","status-publish","hentry","plugin_tags-carriers","plugin_tags-delivery","plugin_tags-pickup-points","plugin_tags-shipping","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-innosenddev","plugin_committers-innosenddev"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/innosend\/assets\/icon-128x128.png?rev=3723369","icon_2x":"https:\/\/ps.w.org\/innosend\/assets\/icon-256x256.png?rev=3723369","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Innosend adds pickup point delivery to your WooCommerce checkout. Customers pick a location from carriers like PostNL, DHL, DPD, GLS and FedEx \u2014 on a map or from a list \u2014 directly while checking out.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Pickup point selection in both the block-based and the classic checkout<\/li>\n<li>Search by zip code or use the customer's location (\"near me\")<\/li>\n<li>Interactive map with all nearby pickup points<\/li>\n<li>Multiple carriers via one Innosend account; choose per shipping zone which carriers to offer<\/li>\n<li>Configurable shipping fee and free-shipping threshold (incl. or excl. VAT) per shipping zone<\/li>\n<li>Pickup point shown on the order confirmation page, in My Account and in the admin order view<\/li>\n<li>Compatible with WooCommerce High-Performance Order Storage (HPOS)<\/li>\n<li>Translation-ready<\/li>\n<\/ul>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<p>The plugin connects to the <a href=\"https:\/\/innosend.eu\">Innosend platform<\/a> to retrieve your carriers and nearby pickup points. An Innosend account and API key are required \u2014 register at <a href=\"https:\/\/innosend.eu\">innosend.eu<\/a>.<\/p>\n\n<h4>External Services<\/h4>\n\n<p>This plugin connects to the following external services:<\/p>\n\n<p><strong>Innosend API<\/strong> (<code>https:\/\/api.innosend.eu<\/code>) \u2014 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 <a href=\"https:\/\/innosend.eu\/algemene-voorwaarden\">Innosend Terms of Service<\/a> and <a href=\"https:\/\/innosend.eu\/privacybeleid\/\">Privacy Policy<\/a>.<\/p>\n\n<p><strong>Innosend map tiles<\/strong> (<code>https:\/\/tiles.innosend.com<\/code>) \u2014 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 \u00a9 <a href=\"https:\/\/www.openstreetmap.org\/copyright\">OpenStreetMap<\/a> contributors, served in the <a href=\"https:\/\/openmaptiles.org\/\">OpenMapTiles<\/a> schema via <a href=\"https:\/\/openfreemap.org\/\">OpenFreeMap<\/a>, styled with an adaptation of <a href=\"https:\/\/github.com\/CartoDB\/basemap-styles\">CARTO Voyager<\/a> (\u00a9 CARTO, CC BY 4.0). See the <a href=\"https:\/\/innosend.eu\/algemene-voorwaarden\">Innosend Terms of Service<\/a> and <a href=\"https:\/\/innosend.eu\/privacybeleid\/\">Privacy Policy<\/a>. Shops can point the map at another tile provider with the <code>innosend_map_tiles<\/code> filter.<\/p>\n\n<p><strong>Google Maps<\/strong> (<code>https:\/\/maps.google.com<\/code>) \u2014 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 <a href=\"https:\/\/policies.google.com\/terms\">Google Terms of Service<\/a> and <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<h4>Source code and build<\/h4>\n\n<p>The JavaScript in <code>build\/<\/code> is compiled from the TypeScript\/React source included in this plugin:<\/p>\n\n<ul>\n<li><code>src\/<\/code> \u2014 source of the three bundles: <code>checkout-block<\/code> (block checkout), <code>classic<\/code> (classic checkout) and <code>admin<\/code> (settings screen)<\/li>\n<li><code>package.json<\/code>, <code>package-lock.json<\/code>, <code>webpack.config.js<\/code>, <code>tsconfig.json<\/code> \u2014 build configuration (<a href=\"https:\/\/www.npmjs.com\/package\/@wordpress\/scripts\">@wordpress\/scripts<\/a> with the WooCommerce dependency extraction plugin)<\/li>\n<\/ul>\n\n<p>To rebuild, from the plugin folder with Node.js 20: <code>npm ci &amp;&amp; npm run build<\/code>. The output is written to <code>build\/<\/code>.<\/p>\n\n<p>The PHP autoloader in <code>vendor\/<\/code> is generated by Composer from <code>composer.json<\/code> (<code>composer install --no-dev<\/code>); it contains only the Composer autoloader.<\/p>\n\n<h4>Third-party libraries<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/github.com\/Leaflet\/Leaflet\">Leaflet<\/a> 1.9.4 \u2014 interactive map; its JavaScript, CSS and marker images are bundled in <code>build\/<\/code>. BSD-2-Clause license.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin through Plugins \u2192 Add New \u2192 Upload, or install it from the plugin directory.<\/li>\n<li>Activate the plugin. WooCommerce must be installed and active.<\/li>\n<li>Go to WooCommerce \u2192 Settings \u2192 Shipping \u2192 Innosend and enter your Innosend API key. Use \"Test connection\" to verify it.<\/li>\n<li>Add the \"Innosend pickup points\" shipping method to the shipping zones where you want to offer pickup points, and pick the carriers per zone.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20innosend%20account%3F\"><h3>Do I need an Innosend account?<\/h3><\/dt>\n<dd><p>Yes. The plugin retrieves carriers and pickup points from your Innosend account. Register at <a href=\"https:\/\/innosend.eu\">innosend.eu<\/a>.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20the%20block-based%20checkout%3F\"><h3>Does this work with the block-based checkout?<\/h3><\/dt>\n<dd><p>Yes \u2014 both the block-based checkout and the classic shortcode checkout are supported.<\/p><\/dd>\n<dt id=\"which%20carriers%20are%20supported%3F\"><h3>Which carriers are supported?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"will%20updating%20from%202.x%20keep%20my%20settings%20and%20orders%3F\"><h3>Will updating from 2.x keep my settings and orders?<\/h3><\/dt>\n<dd><p>Yes. Version 3.0 migrates your shipping zone settings automatically, and pickup point details on existing orders remain intact.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>The picker font setting explains how to list fallback fonts, shown below the field<\/li>\n<li>Fix: the pickup point dialog stays centered in themes that reset dialog margins<\/li>\n<li>Frontend source and build instructions are included in the plugin; translations are delivered by translate.wordpress.org<\/li>\n<li>Admin notices only appear on the Plugins and WooCommerce settings screens<\/li>\n<li>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\"<\/li>\n<li>Fix: orders store the carrier name the Innosend platform expects (e.g. \"DHLEuroPlus\", \"Transmission\"), so shipping rules on the checkout carrier match again<\/li>\n<li>Fix: a pickup point in another country than the shipping address is no longer accepted; changing the shipping country clears the selected point<\/li>\n<li>Fix: carrier and location names in the map tooltip are always shown as text<\/li>\n<li>Fix: logged-in customers with a checkout tab open for a long time can search again without refreshing<\/li>\n<li>Fix: the \"Please select a pickup point\" message in the block checkout only appears when the customer tries to place the order<\/li>\n<li>Fix: fewer requests to the Innosend API (no search before the map is opened)<\/li>\n<li>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<\/li>\n<li>Improved: loading state, translated error messages and a \"Try again\" button in the pickup point map<\/li>\n<li>Improved: the pickup point entry and summary have their own background, so they stay readable on dark themes<\/li>\n<li>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<\/li>\n<li>Improved: the carrier logo shows again after a page reload<\/li>\n<li>Readme: the external services section lists the Innosend map tile server and the Google Maps directions link<\/li>\n<li>The map no longer shows a \"Leaflet\" credit link; only the required map-data attribution remains<\/li>\n<\/ul>\n\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>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 <code>innosend_map_tiles<\/code> filter<\/li>\n<li>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\"<\/li>\n<li>Fix: opening hours show the correct day names for every carrier<\/li>\n<li>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<\/li>\n<li>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<\/li>\n<li>New: an admin notice when the API key is missing or rejected by Innosend<\/li>\n<li>New: \"Test connection\" checks the API key as typed in the field, so a new key can be tested before saving<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>New: refreshed pickup selector design \u2014 theme-adaptive styling, dedicated mobile views, improved accessibility, and configurable accent color, corner radius and font in the shipping settings<\/li>\n<li>Fix: switching between pickup shipping options now always clears the previous option's selected point, including directly after the switch<\/li>\n<li>Fix: re-confirming a restored selection after a page reload no longer shows a false \"could not save\" error<\/li>\n<li>Fix: a slow network response can no longer re-show a previously selected point or undo a newer selection<\/li>\n<li>Fix: the carriers list now loads when adding or editing a pickup shipping option from the shipping zone screen<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Complete rewrite, built on the Innosend v2 API<\/li>\n<li>New pickup point selector: zip code search, \"near me\", carrier filter and map<\/li>\n<li>Full support for the block-based checkout (native WooCommerce Blocks integration)<\/li>\n<li>Pickup point selection is now validated and stored server-side<\/li>\n<li>Multiple shipping zone configurations now work correctly side by side<\/li>\n<li>Free-shipping threshold calculated on the pre-discount subtotal, incl.\/excl. VAT configurable<\/li>\n<li>Automatic migration of 2.x settings<\/li>\n<li>English and Dutch translations<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fix: courier configuration now follows the selected shipping option when multiple options are configured<\/li>\n<li>Fix: pickup point selector opens for every Innosend shipping option, not only the first<\/li>\n<li>Fix: pickup point selector renders on the classic checkout<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Security, performance and WordPress coding standards improvements<\/li>\n<\/ul>","raw_excerpt":"Integrate Innosend pickup points into your WooCommerce checkout. Let customers choose convenient delivery locations from multiple carriers.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378268"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/innosenddev"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378268"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378268"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378268"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378268"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378268"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}