{"id":331402,"date":"2026-07-06T16:05:10","date_gmt":"2026-07-06T16:05:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/parcelis-shipping-protection\/"},"modified":"2026-08-11T22:34:48","modified_gmt":"2026-08-11T22:34:48","slug":"parcelis-shipping-protection","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/parcelis-shipping-protection\/","author":23522454,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Parcelis Shipping Protection","header_author":"Parcelis","header_description":"Shipping insurance for WooCommerce stores","assets_banners_color":"","last_updated":"2026-08-11 22:34:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.myparcelis.com\/how-it-works","header_author_uri":"https:\/\/www.myparcelis.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":276,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"parcelis","date":"2026-07-06 20:35:51"},"1.0.2":{"tag":"1.0.2","author":"parcelis","date":"2026-07-31 14:19:54"},"1.0.3":{"tag":"1.0.3","author":"parcelis","date":"2026-07-31 16:28:37"},"1.0.4":{"tag":"1.0.4","author":"parcelis","date":"2026-08-03 21:38:12"},"1.0.5":{"tag":"1.0.5","author":"parcelis","date":"2026-08-11 16:34:28"},"1.0.6":{"tag":"1.0.6","author":"parcelis","date":"2026-08-11 22:34:48"}},"upgrade_notice":{"1.0.6":"<p>Category-restricted widget now hides\/reappears live as the cart changes, without needing a page reload.<\/p>","1.0.5":"<p>Adds category-based widget restrictions and self-healing store registration \u2014 recommended for all installs, especially older ones that never showed up connected in the Parcelis dashboard.<\/p>","1.0.2":"<p>Fixes store registration on activation \u2014 recommended for all installs, especially if your store never showed up connected in the Parcelis dashboard.<\/p>","1.0.1":"<p>Internal housekeeping fix, no functional changes.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3598073,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3598073,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3598064,"resolution":"1","location":"assets","locale":"","width":1525,"height":721},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3598064,"resolution":"2","location":"assets","locale":"","width":560,"height":326},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3598064,"resolution":"3","location":"assets","locale":"","width":1246,"height":779}},"screenshots":{"1":"Insurance widget in the cart","2":"Admin settings page","3":"Pricing configuration"}},"plugin_section":[],"plugin_tags":[40068,248073,270357,230030,286],"plugin_category":[45],"plugin_contributors":[270358],"plugin_business_model":[],"class_list":["post-331402","plugin","type-plugin","status-publish","hentry","plugin_tags-insurance","plugin_tags-order-protection","plugin_tags-package-protection","plugin_tags-shipping-insurance","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-parcelis","plugin_committers-parcelis"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/parcelis-shipping-protection\/assets\/icon-128x128.png?rev=3598073","icon_2x":"https:\/\/ps.w.org\/parcelis-shipping-protection\/assets\/icon-256x256.png?rev=3598073","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/parcelis-shipping-protection\/assets\/screenshot-1.png?rev=3598064","caption":"Insurance widget in the cart"},{"src":"https:\/\/ps.w.org\/parcelis-shipping-protection\/assets\/screenshot-2.png?rev=3598064","caption":"Admin settings page"},{"src":"https:\/\/ps.w.org\/parcelis-shipping-protection\/assets\/screenshot-3.png?rev=3598064","caption":"Pricing configuration"}],"raw_content":"<!--section=description-->\n<p>Parcelis Shipping Protection allows store owners to offer shipping insurance directly in their WooCommerce store. Customers can opt in to protect their orders against loss, damage, or theft during shipping.<\/p>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ul>\n<li>You set the retail price customers pay for insurance (suggested: $4.95 per $200 covered)<\/li>\n<li>Your wholesale cost is $2.50 per $200 covered \u2014 that's what you pay to Parcelis<\/li>\n<li>You keep the difference as profit<\/li>\n<li>Coverage is capped at $2,500 per order<\/li>\n<li>Policies are issued automatically when an order is placed<\/li>\n<\/ul>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Seamless integration with WooCommerce checkout<\/li>\n<li>Customizable retail pricing<\/li>\n<li>Automatic policy issuance on order payment<\/li>\n<li>Order notes with policy confirmation<\/li>\n<li>Admin dashboard to view issued policies<\/li>\n<li>Compatible with WooCommerce HPOS (High-Performance Order Storage)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the Parcelis API to provide shipping insurance functionality. The following data transmissions occur:<\/p>\n\n<p><strong>Parcelis API<\/strong> (https:\/\/app-parcelis-api-prod-001.azurewebsites.net)<\/p>\n\n<ul>\n<li><strong>Shop registration:<\/strong> When the plugin is activated, store details (domain, name, admin email, WooCommerce version) are sent to register the store with Parcelis. If registration hasn't completed yet, the plugin retries automatically (at most once per hour) until it succeeds \u2014 this stops once the store is registered.<\/li>\n<li><strong>Settings sync:<\/strong> When plugin settings are saved, configuration data is synced to Parcelis so coverage parameters stay current.<\/li>\n<li><strong>Order submission:<\/strong> When an order containing shipping insurance reaches \"Processing\" or \"Completed\" status, order details (customer info, shipping address, line items, insurance amount) are sent to Parcelis to trigger policy issuance.<\/li>\n<\/ul>\n\n<p>No data is transmitted to third parties beyond the Parcelis API service described above.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.myparcelis.com\/terms\">Parcelis Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/www.myparcelis.com\/privacy\">Parcelis Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>parcelis-shipping-protection<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>WooCommerce &gt; Parcelis<\/strong> to configure your settings<\/li>\n<li>Set your retail price and enable the widget<\/li>\n<li>The insurance option will appear in your cart\/checkout<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20my%20wholesale%20cost%3F\"><h3>What is my wholesale cost?<\/h3><\/dt>\n<dd><p>$2.50 per $200 of order value covered. This is the fixed cost you pay to Parcelis for each policy issued.<\/p><\/dd>\n<dt id=\"what%20is%20the%20maximum%20coverage%20per%20order%3F\"><h3>What is the maximum coverage per order?<\/h3><\/dt>\n<dd><p>$2,500 USD per order.<\/p><\/dd>\n<dt id=\"how%20are%20policies%20issued%3F\"><h3>How are policies issued?<\/h3><\/dt>\n<dd><p>Policies are issued automatically when an order reaches \"Processing\" or \"Completed\" status.<\/p><\/dd>\n<dt id=\"can%20i%20set%20my%20own%20retail%20price%3F\"><h3>Can I set my own retail price?<\/h3><\/dt>\n<dd><p>Yes. You can charge customers any amount you choose. The suggested retail price is $4.95 per $200 covered.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>The widget now hides and re-appears live as the cart changes via AJAX (add\/remove items, quantity updates, fragment refreshes), instead of only re-evaluating on a full page reload. Previously, removing an excluded-category item wouldn't bring the widget back until the customer reloaded the page.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Add category-based restrictions: exclude the widget from showing when the cart contains a product from specific categories, configurable under Parcelis &gt; Restrictions. If insurance was already added to the cart, it's automatically removed when an excluded-category item is added.<\/li>\n<li>Fix classic \"Cart\" widget (Appearance &gt; Widgets, or any Legacy Widget block) never actually rendering the Parcelis widget \u2014 it was looking for a fixed container id that the mini-cart placeholder never uses.<\/li>\n<li>Fix store registration only retrying when the store is manually deactivated and reactivated: it now retries automatically (idempotent, backs off for an hour between attempts) until it succeeds, so stores that were affected by the 1.0.2 registration fix self-heal without needing manual action.<\/li>\n<li>Fix widget re-appearing briefly after an AJAX cart update even when it should stay hidden (cart fragment refresh wasn't checking the same visibility rules as the initial page load).<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix low-contrast subtitle text in the \"We've got you covered\" info modal: the CSS rule targeted a wrapper class that isn't present in the modal markup, so the subtitle rendered in the browser's default pale text color instead of the intended dark gray.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix widget preview price on stores that apply their own cart fees\/discounts (e.g. a payment-method discount): the widget was reading the cart's final total (already net of those adjustments) instead of the merchandise subtotal, which could skew the displayed price near a $200 tier boundary. The actual charged amount was never affected \u2014 only the pre-checkout preview.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix shop registration on activation: the plugin was calling the wrong API endpoint path (\/shops\/register instead of \/shop\/register), which silently prevented every store from registering with the Parcelis backend. New installs (and existing ones after deactivate\/reactivate) now register correctly.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Rename main plugin file to match the approved WordPress.org slug (parcelis-shipping-protection)<\/li>\n<li>Fix leftover \"Parcelis WooCommerce\" name references in the readme<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Offer shipping insurance to your customers at checkout. Protect orders and increase revenue with Parcelis.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/331402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=331402"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/parcelis"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=331402"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=331402"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=331402"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=331402"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=331402"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=331402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}