{"id":344385,"date":"2026-09-16T07:37:48","date_gmt":"2026-09-16T07:37:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/navidium-shipping-protection\/"},"modified":"2026-09-16T08:03:35","modified_gmt":"2026-09-16T08:03:35","slug":"navidium-shipping-protection","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/navidium-shipping-protection\/","author":23526830,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"7.1","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Navidium Shipping Protection","header_author":"Navidium","header_description":"Offer optional shipping protection on the WooCommerce cart and checkout. Widget copy, pricing rules and claims are managed from your Navidium account.","assets_banners_color":"41656d","last_updated":"2026-09-16 08:03:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/navidiumapp.com\/woocommerce","header_author_uri":"https:\/\/navidiumapp.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"devsnestnavidium","date":"2026-09-16 07:37:32","revision":3698098},"2.0.1":{"tag":"2.0.1","author":"devsnestnavidium","date":"2026-09-16 08:03:35","revision":3698143}},"upgrade_notice":{"2.0.0":"<p>Important: this release replaces the per-store download. After updating, go to\nWooCommerce &gt; Shipping Protection and connect your store with the plugin token from\nyour Navidium dashboard. Includes a security fix for an unauthenticated action that\ncould change a shopper&#039;s protection choice.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3698140,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3698140,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3698140,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3698140,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0","2.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The shipping protection widget on the cart page.","2":"The widget on the checkout page.","3":"Connecting the plugin to a Navidium account.","4":"Choosing where the widget appears."}},"plugin_section":[],"plugin_tags":[3148,270357,230030,211258,286],"plugin_category":[45],"plugin_contributors":[281006],"plugin_business_model":[],"class_list":["post-344385","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-package-protection","plugin_tags-shipping-insurance","plugin_tags-shipping-protection","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-devsnestnavidium","plugin_committers-devsnestnavidium"],"banners":{"banner":"https:\/\/ps.w.org\/navidium-shipping-protection\/assets\/banner-772x250.png?rev=3698140","banner_2x":"https:\/\/ps.w.org\/navidium-shipping-protection\/assets\/banner-1544x500.png?rev=3698140","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/navidium-shipping-protection\/assets\/icon-128x128.png?rev=3698140","icon_2x":"https:\/\/ps.w.org\/navidium-shipping-protection\/assets\/icon-256x256.png?rev=3698140","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Navidium Shipping Protection lets shoppers add protection against lost, damaged or\nstolen deliveries, as a toggle on your cart and checkout. The protection fee is\ncollected by your own store as part of the order.<\/p>\n\n<p>The widget text, pricing rules and claim handling are configured in your Navidium\naccount and delivered to this plugin, so you can change them without editing anything\nin WordPress.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Optional protection toggle on the cart and the checkout<\/li>\n<li>Works with classic cart and checkout, the WooCommerce cart and checkout blocks, and CheckoutWC<\/li>\n<li>Charge the fee either as an order fee or as a hidden protection product<\/li>\n<li>Percentage or flat pricing, with a configurable minimum<\/li>\n<li>Choose where the widget appears on the cart and the checkout<\/li>\n<li>Optionally exclude wholesale customer roles<\/li>\n<li>Multi-currency aware<\/li>\n<\/ul>\n\n<h4>A Navidium account is required<\/h4>\n\n<p>This plugin is a client for the Navidium shipping protection service. It does nothing\non its own: until you connect it to a Navidium account, it adds nothing to the cart,\nchanges no prices, and makes no external requests.<\/p>\n\n<p>Navidium is a paid subscription service, billed separately from WordPress. See\nhttps:\/\/navidiumapp.com for plans and details. The protection fee your shoppers\npay is collected by your store and is yours; Navidium charges you a monthly\nsubscription for the service.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to services operated by Navidium (https:\/\/navidiumapp.com).\nIt makes <strong>no external requests at all<\/strong> until you connect it with a plugin token.<\/p>\n\n<p><strong>1. Navidium API \u2014 https:\/\/woocommerce.navidiumapp.com<\/strong><\/p>\n\n<p>Used for four things:<\/p>\n\n<ul>\n<li><strong>Connecting your store.<\/strong> When you submit your plugin token on the\nWooCommerce &gt; Shipping Protection screen, the plugin makes one request to\n  https:\/\/woocommerce.navidiumapp.com\/api\/v1\/plugin\/connect, sending your plugin token\nand your site URL (from <code>home_url()<\/code>). Navidium replies with your account's shop\nname, store domain, and settings feed URLs. This happens only when you click\nConnect or Test connection.<\/li>\n<li><strong>Reading your protection settings<\/strong>, as a fallback when the settings feed below is\nunreachable: <code>GET https:\/\/woocommerce.navidiumapp.com\/api\/v1\/plugin\/settings?domain=YOUR-STORE-DOMAIN<\/code>.\nThis sends only your store domain.<\/li>\n<li><strong>Completing a connection.<\/strong> When you return from checkout, the plugin makes one request to\n  https:\/\/woocommerce.navidiumapp.com\/api\/v1\/plugin\/claim, sending the one-time code from the\nreturn link and this site's URL, and receives the credential this site uses from then on.<\/li>\n<li><strong>Registering the protection product<\/strong>, once, and only when \"product\" billing mode is\nenabled: <code>POST https:\/\/woocommerce.navidiumapp.com\/api\/v1\/plugin\/protection-product<\/code>,\nsending your store domain, the WooCommerce product ID and the product SKU,\nauthenticated with your plugin token.<\/li>\n<\/ul>\n\n<p><strong>2. Navidium settings feed \u2014 https:\/\/cdnv2.navidiumapp.com<\/strong><\/p>\n\n<p>Your protection settings (widget text, icon, pricing rules) are published by Navidium\nas a static JSON file at\nhttps:\/\/cdnv2.navidiumapp.com\/nsp-wp-settings\/YOUR-STORE-DOMAIN.json , served from\nAmazon S3 and CloudFront. The plugin only ever contacts the CDN hostname above; if it\ncannot be reached, the plugin falls back to the Navidium API host already listed.<\/p>\n\n<ul>\n<li>WordPress reads this file on the server, cached for 60 seconds in a transient.<\/li>\n<li>The cart and checkout script also reads it in the shopper's browser, so widget\nchanges appear without clearing a page cache. That copy is stored in the shopper's\nbrowser under <code>localStorage<\/code> key <code>navidium_live_settings_payload<\/code>.<\/li>\n<\/ul>\n\n<p>These requests send only the URL. No customer data, order data, or personal data is\nincluded, and no credential is present in the response.<\/p>\n\n<p><strong>3. Widget icon<\/strong><\/p>\n\n<p>The default widget icon ships with the plugin and is served from your own site. If you\nupload a custom icon in your Navidium dashboard, that image is loaded from wherever you\nhost it.<\/p>\n\n<p><strong>4. Order data<\/strong><\/p>\n\n<p>This plugin does not send order or customer data to Navidium. If you use Navidium for\nclaims handling, order data is sent by a WooCommerce webhook that you configure\nseparately in your Navidium dashboard. That is a different integration and is not\nperformed by this plugin.<\/p>\n\n<p>Service provider: Navidium \u2014 https:\/\/navidiumapp.com\nTerms and conditions: https:\/\/navidiumapp.com\/terms-conditions\nPrivacy policy: https:\/\/navidiumapp.com\/privacy-policy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin. WooCommerce must be installed and active.<\/li>\n<li>Go to <strong>WooCommerce &gt; Shipping Protection<\/strong> in your WordPress admin.<\/li>\n<li>Click <strong>Start free trial<\/strong>. You are taken to navidiumapp.com to choose a plan; your store\naddress is filled in from this site, so the connection cannot be pointed at the wrong store.<\/li>\n<li>After checkout you are returned to this screen and the store is connected automatically.<\/li>\n<li>Choose where the widget should appear. Pricing, widget text and claim handling are\nconfigured in your Navidium account.<\/li>\n<\/ol>\n\n<p>Already have a Navidium account? The same screen accepts a plugin token from\n<strong>Settings &gt; Store connection<\/strong> in your dashboard.<\/p>\n\n<p>Until you connect the plugin, it stays inactive: nothing is added to the cart and no\nexternal request is made until you choose to start.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20paid%20account%20to%20use%20this%20plugin%3F\"><h3>Do I need a paid account to use this plugin?<\/h3><\/dt>\n<dd><p>Yes. The plugin is a client for the Navidium service, which is a paid subscription.\nWithout a connected account, the plugin does nothing.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20do%20not%20connect%20it%3F\"><h3>What happens if I do not connect it?<\/h3><\/dt>\n<dd><p>Nothing at all. The widget is not shown, no fee is added, no cart is modified, and no\nexternal requests are made. The plugin only registers its admin screen.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20navidium%20is%20unreachable%3F\"><h3>What happens if Navidium is unreachable?<\/h3><\/dt>\n<dd><p>Your store keeps working. Settings are read from a static feed and cached in WordPress\nfor 60 seconds. If both the feed and the API fail, the plugin serves the last settings\nit successfully read and backs off for two minutes rather than retrying on every page\nload. A brief outage never interrupts your checkout.<\/p>\n\n<p>If settings cannot be refreshed for more than seven days, the widget stops rendering and\nan admin notice explains why. The plugin will not price protection from settings it can\nno longer confirm.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20my%20subscription%20lapses%3F\"><h3>What happens if my subscription lapses?<\/h3><\/dt>\n<dd><p>If a renewal payment fails, nothing changes while your card is retried, so shoppers who\nare mid-checkout are unaffected. If the subscription is cancelled outright, the service\nstops enabling the widget: it no longer appears and no protection fee is added to any\norder. Your existing orders, settings and claim history are untouched, and everything\nresumes automatically once billing is up to date.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20block%20checkout%3F\"><h3>Does this work with block checkout?<\/h3><\/dt>\n<dd><p>Yes. Classic cart and checkout, the WooCommerce cart and checkout blocks, and\nCheckoutWC are all supported. CheckoutWC is detected automatically.<\/p><\/dd>\n<dt id=\"what%20data%20does%20this%20plugin%20send%3F\"><h3>What data does this plugin send?<\/h3><\/dt>\n<dd><p>Your store domain, your site URL when connecting, and (in product billing mode) the\nWordPress product ID and SKU of the protection product. No customer or order data is\nsent by this plugin. See \"External services\" below.<\/p><\/dd>\n<dt id=\"what%20does%20uninstalling%20remove%3F\"><h3>What does uninstalling remove?<\/h3><\/dt>\n<dd><p>The plugin's own options and cached settings. Order data is left untouched, because it\nis part of your financial records. The hidden protection product is only removed if you\nexplicitly opt in, since it is referenced by existing orders.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20widget%20text%3F\"><h3>Can I change the widget text?<\/h3><\/dt>\n<dd><p>Yes, in your Navidium dashboard. Changes appear on your store within about a minute\nwithout needing a plugin update.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fix: the settings feed URL in the External services section was missing its\nstore-domain placeholder on the plugin page, reading \"...\/nsp-wp-settings\/.json\".<\/li>\n<li>Fix: the API section said it was used for three things and then listed four.<\/li>\n<li>Removed a paragraph in the description that only pointed at the section below it.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>New: connect your store from WordPress by pasting a plugin token, instead of\ndownloading a pre-configured build. The plugin is now a single standard release.<\/li>\n<li>New: CheckoutWC support is built in and detected automatically. The separate\nCheckoutWC build is no longer needed.<\/li>\n<li>New: the plugin is completely inactive until connected. It previously fell back to\nbuilt-in defaults and could add a fee before it had been configured.<\/li>\n<li>New: uninstall now removes the plugin's options and cached settings.<\/li>\n<li>Fix: security. Removed an unauthenticated AJAX action that allowed a third-party page\nto change a shopper's protection choice and modify their cart.<\/li>\n<li>Fix: escape all widget output, and remove inline event handlers that broke\nContent-Security-Policy.<\/li>\n<li>Fix: the widget icon is now bundled with the plugin instead of being loaded from a\nremote server on every cart and checkout view.<\/li>\n<li>Fix: the plugin no longer causes a fatal error when WooCommerce is deactivated.<\/li>\n<li>Fix: admin styles and scripts are now loaded only on the order editor, instead of on\nevery screen in wp-admin.<\/li>\n<li>Fix: shop managers can now save the widget placement settings.<\/li>\n<li>Fix: the protection product is no longer created from a storefront page view.<\/li>\n<li>Fix: corrected an unbalanced tag in the widget markup that could break theme layout.<\/li>\n<li>Fix: the cart toggle switch is now styled, and works without JavaScript.<\/li>\n<li>Improved: declared compatibility with WooCommerce High-Performance Order Storage.<\/li>\n<li>Improved: the plugin is now fully translatable.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Add an optional shipping protection fee to your WooCommerce cart and checkout, managed from your Navidium account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344385","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=344385"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devsnestnavidium"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344385"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344385"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344385"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344385"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344385"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}